To Do
Jellywatch.org task list
- Complete migration of old database to D8-compatible fields or views.
- This might be easier by doing (1) first and then mapping the fields to the new form parameters
- I think records are stored in jellydb, and content_type_new_sighting
- User submission form (Mark new sighting)
- It should present the user with pull-downs and fill in options for the fields (DONE)
- The LatLon should be entered manually or by dragging a pin on a map
- The map should be searchable to center the field of view at a new value.
- The form should be "accepted" without captcha if the user is logged in (DONE).
- If the user is not logged in, the form should be sent to a review queue if no user is logged in and the captcha is successful.
- Some fields ("Moderation", "Featured, "Device ID", "Confirmed Species") should only be visible to admins. (DONE)
- Some fields should be required, and others optional. (DONE)
- Other fields ("Email", "How did you hear about us?") should not be visible when records are viewed by non-admins
- If the LatLon is equal to the default value when submitted, the form should be rejected with an error (DONE)
- Make it so there is only one latitude and Longitude field in the entry form (derived from the map) (DONE)
- Fill in the pull-down list for Type of Sighting.
- Mostly done, but see 4d below for Leaflet map support.
- Reject form if a URL is entered in the description.
- Still there... Remove time of day from date field in submission form (and display table). Maybe "manually" add 12:00:00 to the field received in date?
- Remove Map Name and InfoWindow Popup text from submission form (and from display table).
- When I try to edit a date and save it, I get this error: The date is invalid. Please enter a date in the format 2019-02-19 17:04:26.
- When editing an existing record, have the actual date show up rather than MM/DD/YYYY
- Make the user sightings table visible to other non-registered users (For example from the Top Jellywatcher List.
- Remove time field from date entry box. Make it default to noon but not ask?
- Change map button to say "set location" or something like that instead of "insert map". ?Possible, and needed for future?
- There is a stray #1 at the top of the sightings form (I probably put it there when trying to sync the auto-generated .twigs?)
- Order the organism pop-up list so Other is last.
- Add Velella as its own entity to the sightings list (color=??)
- Viewing sightings individually
- Each sighting node should show a map with a category icon at the location, and a photo, when there is one associated.
- There will be three types of fields. Fields shown to anyone, editable fields shown to the user, those shown to admins.
- Add a "FLAG" button which triggers a queue so if users see a spam sighting they can flag it.
- Reconsidering, but there *should* be the option to leave a comment, only at the bottom of a sighting page for registered users.
- Please change the link called Report this as Spam to say Flag this for review
- Don't show the Geo location tag on the edit page?
- Fix editing the date on a sighting. HOw to type it in, and pre-populate with previous value.
- Viewing sightings as a table
- table view should show a thumbnail and selected other fields in a compact format. (DONE)
- there should be a link to download the whole table as TSV (but only selected fields, i.e., omitting things like email address)
- Remove extra Date column in table
- Make search box for table description fields?
- Advancing to next page of results didn't work? (Numbers along the bottom. Maybe some other UI element is on top of them?)
- Type of organism should show up in the table. I had some conversions in the previous code to translate manowar to Man o War, I think
- Viewing sightings on the map
- Sightings should be indicated on the map by a square using the category icons (DONE)
- Clicking on an icon should show basic info of that sighting (Title, Date) (DONE)
- These should show a small thumbnail if there is an image, and be clickable to go to the complete record (DONE)
- Install leaflet. (updated Feb 17, 2019 https://www.drupal.org/project/leaflet/releases/8.x-1.3)
- Add the oceans layer of this map: https://esri.github.io/esri-leaflet/examples/switching-basemaps.html
- The is a marker cluster option is built-in as of drupal 8
- Show different colors of clusters corresponding to the different organism types
- This method would be great to be able to make pie charts.
- Users
- When a user first logs in, they should be taken to a "My Sightings page" showing a tabular view of their sightings, (DONE)
- New users must be authenticated by admin (who is notified by mail) before becoming active. (DONE)
- The new user form should be regulated by Captcha (DONE)
- Username:password login should not require a captcha — only the anonymous sightings form and the account request form
- New users can set a default location for use by the Submit New Sightings form (DONE)
- New user notification email includes email address used to apply for account and IP address of access.
- Have a Review Queue for New Users, like the Anonymous Sightings queue.
- Replace default image captcha with math-based challenge. Does the math captcha module work?
- The user page should show a list of the sightings associated with their userID.
- Make the user sightings table visible to other non-registered users (For example from the Top Jellywatcher List.
- Anon page
- Recreate the anonymous sightings page and All New Sightings page
- These show a table view of all anon sightings which need to be approved, with a button to approve or delete
- Documentation
- Short guide to file locations for editing and modifying the various forms, maps, and tables.
- iOS connectivity (setting things up for working with my iOS dev)
- Enable REST API for user authentication
- Be able to submit sightings remotely via REST
- Steve: get python interface working
- Be able to upload images
- Get existing php working with new database authentication.
- For example /jellywatch.org/jellymap/phpsqlajax_dbinfo.php.
- Queries to return records, and then photos (probably via the existing php)
- Edit and optimize CSS
- Set background color of pages
- Modify sightings table formatting to be compact and remove description field
- Make "top jellywatchers" smaller and more compact. Place on right side of content?
- Adjust the look of the top horizontal menu bar to make it look more integrated.
- Make individual sightings view more compact, (some fields side by side) with the image nearer to the top.
- Pad the margins in the left menu bars.
- Add back the Featured Sighting images, maybe 2x4 or 2x5 rowsxcolumns of images.
- Show the "sticker" in the top right of the header. "/sites/all/themes/jellytheme/img/jellywatch_ens.png"
- Document the best place to make changes w/o breaking updates
- Document best practice for overriding the template and add graphical elements
- Server config
- Add user jellywatch
- Set up SSL certificate through Let's Encrypt
- Clean up unnecessary/old files in `jellywatch.org` directory
- Set up IP blocking with blacklist like this
- iOS
- get a list of deleted nodes since a timestamp. Maybe via THIS?
- Enhancements
- Put a Featured Sightings gallery on the home page with 4 most recent featured images and titles.
- Add a stickers image gallery with the different language stickers
- Put a list of Top jellywatchers with most contributions in last 6 months.
- Add DELETE to the actions available at https://jellywatch.org/flagging
- Move map JS to front-page twig file or import, instead of source?
- Steve: purge images from `uploaded` based on SQL: `select fid,filename,uri from file_managed where fid > 4000 LIMIT 20;` vs `node__field_image where field_image_target_id`
- Figure out image caching for medium images without
itok
- Add Mark Sighting main menu item linking to https://jellywatch.org/node/add/new_sighting
OLD:
Make a to do list - DONE! Server-side • chmod all 'haddock' files to 'jellywatch' so I don't have to edit stuff with vnc, we can keep all permissions as the same. Site content ** IMPORTANT ** Content pages: Thunbnails and descriptions for common spp (sea nettles, cannonballs, ctenos, velella, man o war, porpita) ---with table below showing pics of user-submitted sightings of those species. Next and previos sightings button on each sighting page • bulk upload of Spanish sightings into database • mysightings list and map for each user. • Shane's request: click on a username to see what sightings they're seeing -- YES • Add moderate buttons to "all new sightings" list • Get OpenID working for login • Add an option field for "how did you hear about us" to the anonymous form. • Use Disqus login for comments instead of drupal/site specific? • Probably should add a newspaper icon (light grey and make Other darker grey?) • Use the big sandbox map on the front page • Create a block for featured sighting *** • Add Otto's Portuguese translation • make zoom on indiv maps higher • check lat/long entry format • make the Save button say Submit • Change so the sighting list is by date/recency, not just number of records? Did this with ORDER BY and then reverse for loop • Fix login so Username and Password titles are smaller • Ditto for Make New Account and Forgot Password -- smaller and on one line • Move search button to image (?) left side of the map dialog box. Can return trigger that? • Under the sightings button: put mobile users submit my mailing to sightings at jw • MySightings: enter the map on your most recent or a map with a list below. • The "Sighting name" is ambiguous. • Fix theme provenance line (Did uploading Alek Theme do anything? • About and List data page: suggested citation, use php for date accessed.. • Regional info: rename? put jelly tree with mouseovers and pix. • On the confirmation page, add "benefits of registering" • On the "confirmation/preview" page for anon sightings: put a highlighted link to "create new account with these settings" (Dependency: user-specific lat/lng) • Add the ability to upload more than one picture (up to 3?) • Create subsection to the right above the map for Announcements Can also include "top jellywatchers" (jellywatcher!=jellywatch) • Backup system that will allow reverting changes... • Location with user info and "my sighthings"; • Use as default location for new sightings • Use as default location for Mark New Sighting • RePlace Captcha with ReCaptcha? • Some kind of flag on the admin page for unmoderated sightings? (I put one lurking there for a couple of days now :^) • Add our pictures to about us page? • Add e-mail field (and Name), marked as optional to the anon sightings page. • top jellywatchers block Jelly Blooms • Set it up as a subdirectory? • Figure out blog option Graphics • Put some kind of border around gmap icons w/ pictures • Patches and shirts with Logo? • Roundrect for white body section • Logos on front page • Make PNGs not look ugly in IE6 • Spruce up the original lil' jelly that goes behind page titles. • Easter egg for mascot mouseover! • Add logos to footer • Smaller radius rountrects • Colors of news feed box • Lighten news feed background Code fixes • Validator for CSS • Fix this? 122: script src="/jellymap/markermanager.js" type="text/javascript" script src="" script
E-mail • Spanish Jelly team - www.icm.csic.es/bio/medusa • NCEAS • Jon Houghton - ecogel • Cnidarian listserv • Israel • Mexico/UC Merced - Liza • Gilly - dosidicus Katherine-related maintenance • (Write a proposal to NOAA to pay for site upkeeps!) Long-term • Only show top X recent sightings • Only show/list sightings within map boundaries. • Clustering of points • Time line controller on map • E-mail parsing for events • "Field guide" to jellies? nope • Have dynamic fields for "mark new sighting" page (if user selects "jellyfish", another scroll-down menu pops up and says "Do you know what kind?" with a list of various types, including an "I don't know!" option) • Real internationalization Done • install Drupal on my local webserver • mirror jellywatch • E-mail fix -- either a form or gif of address to send mail • Boolean News field
tweetmeme_style = 'compact'; tweetmeme_source = "RT @jellywatch"; tweetmeme_url = "http://www.jellywatch.org"; tweetmeme_service = "bit.ly"; -->