Comments (8)
I've added a new admin pages with the untagged issues and issues with multiple threads at /admin/home
I'll add the validation once all issues have tags otherwise it will get confusing.
I've removed the tags with no references, I'll make an issue to check this every so often.
from cyclescape.
Just to say we now have a volunteer for the tagging work, so if you can generate the data for this I can get them started.
They'll also be working on dealing with variant tagging, which would be good to clean up. Is it easy to generate a list of all tags and their frequency? That should hopefully enable us to determine similar tags.
from cyclescape.
To get the issues with threads where neither the issue or the thread have tags I've used:
File.open("issues_without_tags.txt", "w") do |file|
Issue.joins(:threads).where(<<~SQL
not exists (select 1 from issue_tags where issue_tags.issue_id = issues.id)
and not exists (select 1 from message_thread_tags where message_thread_tags.thread_id = message_threads.id)
SQL
).distinct.select("issues.id, issues.title").find_each { |iss| file << "https://www.cyclescape.org/issues/#{iss.to_param}\n" }
end
I'd like to add a validation to ensure all future message threads have tags so we don't get new ones. Given the issue might be tagged I could do something like pre-fill the new thread's tags with the issues ones if you want but also starting with a blank doesn't seem unreasonable.
For issues with multiple threads:
headers = ["Issue URL", "Tags on the issue only"]
CSV.open("issues_with_multiple_threads.csv", "w", write_headers: true, headers: headers) do |csv|
Issue.where(id: iss_ids).left_joins(:tags).group(:id, :title).select("issues.id, title, json_agg(tags.name) as tag_names").find_each { |iss| csv << ["https://www.cyclescape.org/issues/#{iss.to_param}", iss.tag_names] }
end;
issues_with_multiple_threads.csv
Finally the top tags:
headers = ["Tag name", "Tag frequency (including issues, threads and library items)"]
CSV.open("tag_with_freq.csv", "w", write_headers: true, headers: headers) do |csv|
Tag.top_tags_fresh(100000).map { |tg| csv << [tg.name, tg.tag_count] }
end
from cyclescape.
Could we get the counts for those added to the stats page somewhere so I can keep an eye on that as we work through it at this end? I donβt mind running the queries on the DB manually from time to time to get the data output but a quick view for the three stats would be helpful.
I'd like to add a validation to ensure all future message threads have tags so we don't get new ones.
Yes, definitely. Soon as we have the current data cleaned up, we should apply that to editing also so that the constraint is in before we do the main site migration.
Finally the top tags
I see we have some tags with zero references to them. I suggest we zap those as they aren't useful and will just create autocomplete noise.
from cyclescape.
Issues have voting π and π whereas threads have favourites β . We have 912 instances where a user has π or π and issue. Do we just ignore these? It matters for "popular" part of the new discussions design.
from cyclescape.
Issues have voting π and π whereas threads have favourites β . We have 912 instances where a user has π or π and issue. Do we just ignore these? It matters for "popular" part of the new discussions design.
Popular discussions is simply the discussions with the most messages in.
Favourites are purely just a booking mechanism for the user. They are not used in determining popularity. Other users cannot see who has favourited what.
Issues have voting, but you can basically entirely ignore that now. That data was never very interesting and will just fade away.
from cyclescape.
To get the issues with threads where neither the issue or the thread have tags I've used
Action: Nikolai to make an admin page to help this be worked through more quickly.
from cyclescape.
To get the issues with threads where neither the issue or the thread have tags
/stats/issues_untagged
This report now has zero hits, so it would be safe to start enforcing at the database level that an issue/thread must have tags.
from cyclescape.
Related Issues (20)
- Private message alerts not shown in toolbar HOT 1
- Odd right click pop up box HOT 6
- Cyclestreets calendar invites providing the wrong thread link
- Some threads still showing as unread after reading HOT 8
- Older threads marked as favourites do not have dates attached
- Replace Java-based search engine with Postgresql full-text search
- Upgrade to Rails 6.2
- Appearance of moderated message in two digests
- Latest message not saved
- Member getting this code when trying to follow Cyclescape thread url
- Text formatting lost
- Back to top arrow non functional on laptop
- Like buttons only appear for most recent items HOT 1
- Point location map unhelpful because not zoomable
- Editable location maps?
- Thread forgets what message I last read? HOT 1
- PlanIt timeouts
- Daily rollbar report 'warning: Using the last argument as keyword parameters is deprecated'
- Account confirmation subject line needs to be improved from 'Confirmation instructions'
- Tiny text box HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cyclescape.