40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
|
Milestone: Collections
|
||
|
|
||
|
We have generalized collections around our search engine. For that introducing
|
||
|
the [Collection component](https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/components/Collection).
|
||
|
|
||
|
This structure has the following implication:
|
||
|
|
||
|
Collection -> OrderedCollection
|
||
|
|-> Notes (known as Feed)
|
||
|
|-> Actors (known as Circle)
|
||
|
|-> Other Object (known as Collection of ...)
|
||
|
|-> Attachments: AttachmentCollection
|
||
|
|-> Tags: TagCollection
|
||
|
|
||
|
And it allow us to centralise the scope system in the core, ensuring that no
|
||
|
actor will have access to notes or other objects that shouldn't be able to see.
|
||
|
|
||
|
Finally, with this, a plugin such as [Note Type Feed Filter](https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/plugins/NoteTypeFeedFilter) can be useful in
|
||
|
every note collection (feed).
|
||
|
|
||
|
It also allows plugins such as ActivityPub to [translate every collection
|
||
|
automatically](https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/plugins/ActivityPub/Util/OrderedCollectionController.php).
|
||
|
|
||
|
## Notes Filter and Sorting Options
|
||
|
![](assets/filters/feed.png)
|
||
|
|
||
|
## Actors Filter and Sorting Options
|
||
|
![](assets/filters/circle.png)
|
||
|
|
||
|
## The Search Component
|
||
|
|
||
|
### Results
|
||
|
![](assets/search/results.png)
|
||
|
|
||
|
### Note Options
|
||
|
![](assets/search/note_options.png)
|
||
|
|
||
|
### Actor Options
|
||
|
![](assets/search/actor_options.png)
|