MyList DEV
General
The mylist page will need a complete overhaul in the long run. There are tons of areas which could need some improvement. This is not likely to happen anytime soon, but we might introduce some of the new features ahead of time.
Areas of Improvement
Ajax
Similar to the current work on the ajax anime page the mylist page should be ajax'ified to reduce server load and improve load times for users. At the same time this change would enable us to add some nifty javascript based extras which improve usability.
Custom per MyList Styling
Some users want to provide links to their mylist to others and might even want to integrate their mylist page into a website. Currently the layout/style of the mylist page only depends on the settings of the visiting user. In most cases someone who is following a link to another users mylist from some website is probably not logged in at anidb. Which means that in general, visitors will always see the mylist in the default anidb css theme.
It would be nice to have a separate mylist url, which modifies this behaviour. The owner of the mylist would be able to customize the look and feel of this special mylist page (at least by specifying a custom css url, probably even with more options than that. I.e. to include/exclude certain parts of the mylist). It is unclear whether more support than that is needed, i.e. for integration of ones mylist via an iframe or via javascript code.
This goes somewhat in the direction of what myanimelist.net offers.
Filtering/Categorizing
The mylist page would need a lot more filtering capabilities.
Tags
Storage/Source/Other Filters
It may be interesting to allow users to filter anime and file entries in mylist based on the contents of the storage, source or "other" fields of the mylist entries. One possible approach would be:
- cron job splits all fields at a specific delimiter char, i.e. ",", then strips all leading and trailing whitespaces from the substrings and lowercases them. they are then all collected together and cached at the anime level (listcachetb) as a "," separated string.
- filtering on anime level (all anime which are not expanded) would include/exclude all anime entries which contain the search string (listcachetb)
- filtering on file level (for expanded animes) would include/exclude all file entries which contain the search string (listtb)
It's not clear what the best collating semantic would be.
- collect all values together
- file 1 has storage "hddX", file 2 has storage "hddX, cdA" => on anime level: "hddX, cdA"
- take only those tags which all files have (or at least one file for each ep)
- file 1 has storage "hddX", file 2 has storage "hddX, cdA" => on anime level: "hddX"
Categories/Genres
It should be possible to filter the animes in mylist by category/genre. I.e. "display all unwatched action animes" [2]
Improvements to State Filters
[3] ?