To Do

Jellywatch.org task list

Last modified: document.write( document.lastModified );
  1. Complete migration of old database to D8-compatible fields or views.
    1. This might be easier by doing (1) first and then mapping the fields to the new form parameters
    2. I think records are stored in jellydb, and content_type_new_sighting
  2. User submission form (Mark new sighting)
    1. It should present the user with pull-downs and fill in options for the fields (DONE)
    2. The LatLon should be entered manually or by dragging a pin on a map
    3. The map should be searchable to center the field of view at a new value.
    4. The form should be "accepted" without captcha if the user is logged in (DONE).
    5. 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.
    6. Some fields ("Moderation", "Featured, "Device ID", "Confirmed Species") should only be visible to admins. (DONE)
    7. Some fields should be required, and others optional. (DONE)
    8. Other fields ("Email", "How did you hear about us?") should not be visible when records are viewed by non-admins
    9. If the LatLon is equal to the default value when submitted, the form should be rejected with an error (DONE)
    10. Make it so there is only one latitude and Longitude field in the entry form (derived from the map) (DONE)
    11. Fill in the pull-down list for Type of Sighting.
    12. Mostly done, but see 4d below for Leaflet map support.
    13. Reject form if a URL is entered in the description.
    14. 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?
    15. Remove Map Name and InfoWindow Popup text from submission form (and from display table).
    16. 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.
    17. When editing an existing record, have the actual date show up rather than MM/DD/YYYY
    18. Make the user sightings table visible to other non-registered users (For example from the Top Jellywatcher List.
    19. Remove time field from date entry box. Make it default to noon but not ask?
    20. Change map button to say "set location" or something like that instead of "insert map". ?Possible, and needed for future?
    21. 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?)
    22. Order the organism pop-up list so Other is last.
    23. Add Velella as its own entity to the sightings list (color=??)
  3. Viewing sightings individually
    1. Each sighting node should show a map with a category icon at the location, and a photo, when there is one associated.
    2. There will be three types of fields. Fields shown to anyone, editable fields shown to the user, those shown to admins.
    3. Add a "FLAG" button which triggers a queue so if users see a spam sighting they can flag it.
    4. Reconsidering, but there *should* be the option to leave a comment, only at the bottom of a sighting page for registered users.
    5. Please change the link called Report this as Spam to say Flag this for review
    6. Don't show the Geo location tag on the edit page?
    7. Fix editing the date on a sighting. HOw to type it in, and pre-populate with previous value.
  4. Viewing sightings as a table
    1. table view should show a thumbnail and selected other fields in a compact format. (DONE)
    2. there should be a link to download the whole table as TSV (but only selected fields, i.e., omitting things like email address)
    3. Remove extra Date column in table
    4. Make search box for table description fields?
    5. Advancing to next page of results didn't work? (Numbers along the bottom. Maybe some other UI element is on top of them?)
    6. 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
  5. Viewing sightings on the map
    1. Sightings should be indicated on the map by a square using the category icons (DONE)
    2. Clicking on an icon should show basic info of that sighting (Title, Date) (DONE)
    3. These should show a small thumbnail if there is an image, and be clickable to go to the complete record (DONE)
    4. Install leaflet. (updated Feb 17, 2019 https://www.drupal.org/project/leaflet/releases/8.x-1.3)
    5. Add the oceans layer of this map: https://esri.github.io/esri-leaflet/examples/switching-basemaps.html
    6. The is a marker cluster option is built-in as of drupal 8
    7. Show different colors of clusters corresponding to the different organism types
    8. This method would be great to be able to make pie charts.
  6. Users
    1. When a user first logs in, they should be taken to a "My Sightings page" showing a tabular view of their sightings, (DONE)
    2. New users must be authenticated by admin (who is notified by mail) before becoming active. (DONE)
    3. The new user form should be regulated by Captcha (DONE)
    4. Username:password login should not require a captcha — only the anonymous sightings form and the account request form
    5. New users can set a default location for use by the Submit New Sightings form (DONE)
    6. New user notification email includes email address used to apply for account and IP address of access.
    7. Have a Review Queue for New Users, like the Anonymous Sightings queue.
    8. Replace default image captcha with math-based challenge. Does the math captcha module work?
    9. The user page should show a list of the sightings associated with their userID.
    10. Make the user sightings table visible to other non-registered users (For example from the Top Jellywatcher List.
  7. Anon page
    1. Recreate the anonymous sightings page and All New Sightings page
    2. These show a table view of all anon sightings which need to be approved, with a button to approve or delete
  8. Documentation
    1. Short guide to file locations for editing and modifying the various forms, maps, and tables.
  9. iOS connectivity (setting things up for working with my iOS dev)
    1. Enable REST API for user authentication
    2. Be able to submit sightings remotely via REST
    3. Steve: get python interface working
    4. Be able to upload images
    5. Get existing php working with new database authentication.
    6. For example /jellywatch.org/jellymap/phpsqlajax_dbinfo.php.
    7. Queries to return records, and then photos (probably via the existing php)
  10. Edit and optimize CSS
    1. Set background color of pages
    2. Modify sightings table formatting to be compact and remove description field
    3. Make "top jellywatchers" smaller and more compact. Place on right side of content?
    4. Adjust the look of the top horizontal menu bar to make it look more integrated.
    5. Make individual sightings view more compact, (some fields side by side) with the image nearer to the top.
    6. Pad the margins in the left menu bars.
    7. Add back the Featured Sighting images, maybe 2x4 or 2x5 rowsxcolumns of images.
    8. Show the "sticker" in the top right of the header. "/sites/all/themes/jellytheme/img/jellywatch_ens.png"
    9. Document the best place to make changes w/o breaking updates
    10. Document best practice for overriding the template and add graphical elements
  11. Server config
    1. Add user jellywatch
    2. Set up SSL certificate through Let's Encrypt
    3. Clean up unnecessary/old files in `jellywatch.org` directory
    4. Set up IP blocking with blacklist like this
  12. iOS
    1. get a list of deleted nodes since a timestamp. Maybe via THIS?
  13. Enhancements
    1. Put a Featured Sightings gallery on the home page with 4 most recent featured images and titles.
    2. Add a stickers image gallery with the different language stickers
    3. Put a list of Top jellywatchers with most contributions in last 6 months.
    4. Add DELETE to the actions available at https://jellywatch.org/flagging
    5. Move map JS to front-page twig file or import, instead of source?
    6. 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`
    7. Figure out image caching for medium images without itok
    8. 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"; -->