BookStackApp / BookStack

A platform to create documentation/wiki content built with PHP & Laravel
https://www.bookstackapp.com/
MIT License
14.85k stars 1.86k forks source link

Addition of Logs for Page Viewing Events #4775

Open alexenedino opened 8 months ago

alexenedino commented 8 months ago

Describe the feature you'd like

Hello,

I am an avid user of Bookstrack and have actively been using the audit log feature to track modifications. However, I've noticed that currently, we don't have the ability to track page viewing events or shelf openings in Bookstack.

I believe that adding this information to the logs would be extremely beneficial for the user community. Being able to track who viewed certain pages or opened shelves would be useful for various use cases, especially in collaborative environments.

Describe the benefits this would bring to existing BookStack users

Enhanced Traceability:

Outcome: Users can have a comprehensive view of interactions within BookStack. Benefit: Improved accountability and traceability as users can track who viewed specific pages, aiding in collaborative projects and knowledge sharing. Improved Collaboration:

Outcome: Facilitates collaboration by providing insights into user engagement with content. Benefit: Users can understand how team members interact with shared information, fostering collaboration, and enabling more effective communication. Content Popularity Insights:

Outcome: Enables tracking of popular pages or shelves. Benefit: Users gain insights into the most accessed content, helping in content curation and prioritization of updates or improvements based on actual usage patterns. User Behavior Analysis:

Outcome: Users can analyze how others navigate through the knowledge base. Benefit: Understanding user behavior helps in optimizing the structure and organization of information, ensuring a more intuitive and user-friendly experience. Benefits of Adding Shelf Opening Events to Logs:

Usage Analytics for Shelves:

Outcome: Users can track which shelves are being actively accessed. Benefit: Administrators and content creators can analyze the popularity of different shelves, tailoring content placement and organization to meet user needs more effectively. Customization and Personalization:

Outcome: Users can tailor shelves based on observed user interactions. Benefit: Individuals or teams can customize their BookStack experience, creating more personalized and efficient workflows based on the actual usage of shelves. Identification of Underutilized Content:

Outcome: Reveals shelves that are seldom opened. Benefit: Users can identify underutilized content and either update it, remove it, or reorganize it to enhance the overall usefulness of the knowledge base. By incorporating these features into BookStack, users gain valuable insights into user behavior, content popularity, and collaboration patterns, ultimately enhancing the utility and effectiveness of the platform.

Can the goal of this request already be achieved via other means?

No.

Currently, the requested goal of tracking page viewing events and shelf openings cannot be achieved through other means within BookStack. The existing methods, such as the audit log feature, primarily focus on modifications and changes made within the platform. The requested approach would complement these existing methods by providing additional insights into user interactions, content popularity, and the utilization of shelves, which are not covered by the current auditing capabilities.

In essence, the proposed feature introduces a new layer of information that enhances the overall understanding of how users engage with the content and structure within BookStack, filling a gap that is not addressed by the existing methods.

Have you searched for an existing open/closed issue?

How long have you been using BookStack?

1 to 5 years

Additional context

No response

ssddanbrown commented 8 months ago

Hi @alexenedino, This is closely related to existing closed issues #1772 and #518, and also relevant to existing open issue #3204.

To achieve the described benefits and desires, we'd need a fair bit more than just logging view events to the audit log. I'm not keen on expanding the audit log to view events, and would prefer to keep the scope to change events to keep the amount of audit events, and uses of our activity/audit system (like webhooks) reasonable.

As mentioned in some of those other issues, we do already track views in the system rolled up per-user-per-item. You could use this existing table externally, or integrate an actual analytics solution if you want more detail.

I can understand the desire of native analytics in BookStack, but the system is used in quite a few different ways, by different configurations of users, that it'd open up a whole new scope of possible desires and requests to have analytics that suit their specific environments. I'm not too keen on jumping into that while external solutions could be used which would probably do a much better job, while configurable to that instance's desires/usage/setup.