Separate planning/checklists are kept by @Manasa2850 and @17sushmita at:
These are some of the broad sub tasks in the project:
@17sushmita please do add anything more that you feel like!
I think the 7th point was also there in the other project in Outreachy which @TildaDares is working on. And it seems she has opened an FTO for this too. So we should remove it from ours.
And let's add the issues which are still present in Tags and Topic milestones here in the points and some are too old so we need to check if they still exist.
This looks great!!! Some notes and thoughts:
Retroactively delete tags added by users who have been banned (@Manasa2850)
This one may be best solved using a migration, that'll execute upon deployment to the live site; example: https://github.com/publiclab/plots2/blob/main/db/migrate/20180705203310_convert_nil_emoji_type_likes_to_thumbs_up.rb
Prevent first-time-posters from tagging work except their own, add appropriate warnings/alerts and/or hide tag form from first-time-posters (@17sushmita)
This one might break up into quite a few subtasks depending on where we identify a need for notification or for "hiding" or "greying out" the tag input. The greying out could actually be done first, as FTOs, and only later we actually lock things on the controller side. After all, first-timers are not likely to be hackers looking to use JavaScript to bypass the rules :-)
Finalize display of tags/topics in sidebar using small "cards" styles - #8684
This one is hard because in JavaScript, we generate the tag HTML on the client side upon adding new tags. But, there is a way to request a pre-rendered HTML template fragment or "partial" from the server, for insertion into the current page, so it'd use the same template instead of having to code it from scratch in JS. Let's copy this idea into the issue and dig into it!
Ability to set timeframe for /tag/____ pages (datepicker needs to be added) #2439
I was thinking on this one and instead of a JS widget library, wondered if we should use this: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date Just an idea!
Of the above, do we start to see some groupings? Maybe some are "bugs" while others are "features"? Some are design related, some are "power tag" specific? (http://publiclab.org/power-tags)
A few more I thought could be added include:
infragram
tag https://github.com/publiclab/plots2/pull/8043#discussion_r496849051 - related to how this works - https://github.com/publiclab/plots2/issues/6594 - this is all tangled up, sorry! But we can talk through it to try to get on the same page and brainstorm a fix. It's a real weird one, fair warning! 馃槄 Finally, i wanted to note that as you get into these systems, and start using them and learning about them, you may have lots of ideas or suggestions for improvements or fixes yourselves. Let's be sure to make time to circle back and discuss them as time goes on!
Thanks a ton, both of you! This is really great.
Ohh wow, looks like someone did some brainstorming after the meeting 馃敟 Great job! @Manasa2850 @17sushmita
This one might break up into quite a few subtasks depending on where we identify a need for notification or for "hiding" or "greying out" the tag input. The greying out could actually be done first, as FTOs, and only later we actually lock things on the controller side. After all, first-timers are not likely to be hackers looking to use JavaScript to bypass the rules :-)
Yes @jywarren , I was thinking in the same direction, first, we should create FTOs for greying or disabling the UI to add tags for first-timers, but also we need to make sure it is blocked from the backend.
I was thinking on this one and instead of a JS widget library, wondered if we should use this: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date Just an idea!
yes, I've used this before. It'll be much easier to use than using JS widget library.
I checked the issues you mentioned, our site is not running so I checked the same thing on unstable site and it is working. I'll try to take a deep look into what's happening under the hood with the blob image on using lazyloading and provide the updates.
And one more thing I wanted to say that there are many issues which are still under discussion some with community members too. We can discuss them parallely while working on the others to avoid waiting for clarity of task after the current task has completed. What say?
Sounds great and if you'd like to somehow indicate which issues need more input in the list above I can try to engage some community members in going through them and providing input one by one. Thanks!
@jywarren the ones labeled (DISCUSSION) are the ones which require some community input.
@bhamster07 check out this excitement! so happy that @Manasa2850 and @17sushmita are engaged on this important set of design and functionality upgrades 馃檶
Wow, fantastic! Thanks so much, @Manasa2850 and @17sushmita! I'm excited and grateful for the work you're doing on tags and topics 馃槃
Hi @Manasa2850 @17sushmita -- i'm going to start brainstorming a bit more here on possible additions to your projects. Please keep in mind, you don't have to take any particular one up if it's not very related. Just look at some of the options and if you're interested, speak up and I can help untangle them and get you plugged in.
I also wanted to suggest that this one could be a good collaborative project:
Develop a category tree interactive feature at /topic-tree with nested topics in a tree view like: https://www.appropedia.org/Appropedia:Fundamental_category_tree
What i suggest is that one of you take on the server-side work, and the other the client-side work. You could draw a diagram to agree on the specific API call that the client would make when you click on a topic, what it needs to include in the request, and what it needs to return in the response. Then the server side person can write a test for the API using a static request in a test, and the test proves that the server can indeed respond correctly. The client side person likewise can code the project with a static response by storing a sample response at a location in the /public/
folder, like /public/category_tree_response.json
and then write the code to request that. Once you both meet in the middle, you can connect up the client to the server. Just be sure to draw out a good diagram you both agree upon first!
Ah and i wasn't sure - did someone already claim this one?
Ability to set timeframe for /tag/____ pages (datepicker needs to be added) #2439
Maybe we need to make the list a the top a checklist so we can check them off?
Thanks, everyone! I really appreciate the teamwork here. Great work!
Just checking here - i think i heard that @17sushmita @Manasa2850 have discussed some of the remaining tasks, can you just briefly summarize how you've split them up? Thank you!
@jywarren we've written our names next to the issues we've taken!
Ah excellent, thank you!
I also wanted to highlight this one which is UI related. Ruth has been working on it for a little while but the breakpoints are causing us some pain on narrower screens: https://github.com/publiclab/plots2/pull/9708#issuecomment-866317068
If it's something of interest to either of you please feel free to pitch in!
Most helpful comment
Ohh wow, looks like someone did some brainstorming after the meeting 馃敟 Great job! @Manasa2850 @17sushmita