Although I won't be working on generating the suggestions, I was wondering how you would show the results. I imagine you could do something similar to the "Followers" display, but I'm not sure how all that works.
I guess for now I'd like to be able to just show something on the dashboard. As I said before, it seems like the code for showing the suggestions should be fairly similar to the code for showing the followers. Do you have any suggestions on how to modify the followers code?
I don't think so. We need an app that for each request suggests a leader based on the following criteria:
1. actors suggested by the site admin. Basically a list of actor ids provided by the site owner in the app configuration.
2. actors that the viewer's leaders are following
3. actors who have common hashtags with the viewer
4. actors who have common hashtags with viewer's leaders
5. actors who have common locations with the viewer
6. actors who have common locations with the viewer's leaders
7. actors who have authored similar hashtags to the viewer's in any of their posts
8. Later when we have sharing in version 4.4 we can incorporate a logic for common shared items too.
Each of those items should be configurable at least by yes/no
Then a gadget on the dashboard makes 3-5 requests to create a list of suggestions for the viewer to follow. Every item in the list that is followed gets replaced by a new suggestion.
Another issue that came to my mind is considering the order that those algorithms are executed. For example matching hashtags or locations maybe more suitable for certain networks and therefore they should be executed first. Perhaps we can make the order configurable too.
Then again there is such a concept as convention over configuration so sticking with a convention would take out the complexity from the app.
What I meant by the code being similar was that displaying the suggestions should be similar to displaying followers or leaders. I agree that generating the suggestions will be quite a bit more complicated.
I wish I could explain it in a few paragraph, but it is more complex than that. I don't know the answer unless I start coding it. I only know how it needs to behave. This particular app is on the roadmap and we're going to build it perhaps this year. If you have a budget, you can hire our company to build it ahead of time and make it part of the standard Anahita distribution. That's how a lot of features in Anahita were developed. If not, you can start a topic in the support group - since this group is for the Anahita project itself - and gradually start learning the architecture of a component and start building it. Since this is your first app, it may take you a bit longer to build it, but it is the best way to learn the Anahita architecture.