I made an overview of the New References, to check with you if I fully understand this (pretty big) feature development.
I think to receive useful user feedback, fibery may want to create a method/system that gives users better insight in the whole project as well as all the feature requests and issues related to it. Discourse currently scatters that information, and for the users there is no clear insight in how the architect/developers gather, assess and prioritize the related needs requests or impacts.
Anyway, here is my overview, please comment if this is complete enough, and what is prioritized, what is not considered and what may be a future development? And users may add related features that are not mentioned yet.
Overview of the ‘New References’ Feature in Fibery
Introduction: The ‘References’ feature in Fibery is a pivotal tool in knowledge management, acting as breadcrumbs that trace the origins of ideas and knowledge. This case study delves into the intricacies of this feature, its functionalities, and the challenges it addresses.
Purpose: References eliminate the need to start from scratch, building upon previous discoveries and insights. They provide a structured way to connect rich text highlights to other entities and define these connections with attributes.
Approach:
- References are treated as a separate database entity in Fibery.
- The goal is to create horizontal features that vertical use cases can utilize.
- The User Reference Database (URD) and the polymorphic lookup field are integral to Fibery’s functioning.
Problem Statement: There’s a need to connect one rich text highlight to another entity and define this connection with attributes, without the hassle of reselection or redundancy.
Functionalities:
- Highlighting Text: Users can highlight a text passage and add user-defined attributes to the highlighted information.
- Target Reference: Add a target reference to the highlight.
- Organization: Organize references by attributes, source attributes, and target attributes.
- Formulas & Automation: Use formulas, automation, and reports across the source-attributes-target relationship line.
Solution:
- Ideal Scenario: Any highlighted rich text field in a database entity could reference any other in the Fibery Workspace.
- Practical Approach: Introduce the User Reference Database (URD) to store references between entities in different databases. The current Link to Entity records will remain in the System Reference Database (SRD).
User Reference Database (URD) Details:
- Source, Source Field, Highlight, Target, Created by, Creation date, Modification date, User-created fields, and System Relations.
Functionality Highlights:
- Each reference in the URD has one source and one target.
- Multiple URDs can be created with different settings.
- URDs are directly linked to the workspace, requiring admin rights for certain functionalities.
- Users can connect any rich text highlight to any database entry.
- Highlights should be visible in any Fibery view.
Creating References:
- Creating a reference is akin to the Link to Entity feature, with some distinctions.
- Users can create an open-ended reference and connect it later.
URD Management:
- URDs require separate management in the Left menu, managed by Admin.
- Multiple URDs can be created with different settings.
Views, Filters, Search, and Sort:
- Entity View, Views with Highlighted text, and Reference view on the Target.
- Filters should cover the Reference Database fields.
- A Reference appears in search results based on certain criteria.
Formulas, Automation, and Reports:
- Formulas involve using a reference for various calculations.
- Reference is involved in Automations.
- Reports based on References.
Access Management:
- The System and User Reference Databases have access permissions.
Whiteboard Integration:
- To add a reference to the Whiteboard, the same process as adding other entities is followed.
Comments and Notifications:
- Comments are allowed in the reference and can be accessed from the Entity view.
- Notifications should be handled in conjunction with the Inbox feature.
URD vs SRD
- User Reference Database (URD):
- Purpose: Store references between entities across different databases.
- Features: Captures highlighted text, user-defined attributes, and offers richer context for references.
- System Reference Database (SRD):
- Role: Houses traditional “Link to Entity” records, allowing links within and across databases.
Migration from SRD to URD:
- Process: On creating a URD, entries from SRD can be optionally transferred. Later, links can be migrated by matching source-target pairs.
Related potential features/requests/forumtopics
Which are currently considered for implementation?
User Experience & Interface:
- Alternative Pane Solutions: Introduce new panes for features like backlinks, outgoing links, tags, and file searches.
- Tooltip Popup for Inline Entity Reference: Introduce tooltips for inline entity references.
- Aliases for References: Allow references to have multiple names or labels, enhancing discoverability and flexibility.
- Content Folding in Rich Text Fields: Introduce the ability to collapse and expand reference sections within rich text fields, especially when they contain multiple references.
Functionality & Integration:
- Whiteboard Integration: Integrate references with a whiteboard for organizing references visually.
- Transclusion: essentially a form of reference where the content of one entity is displayed within another.
- Block-Level Linking: linking specific blocks or sections within a text, rather than entire entities.
- Daily Notes Integration: If Fibery introduced a daily note-like functionality, integrating it with the References feature could provide users with a chronological context, aiding in understanding the evolution of interactions and insights over time.
- GitHub Sync Enhancements: How could the references feature enhance the github sync functionality?
Data & Relationship Management:
- Polymorphic Relations: Introduce more flexible relationships between entities.
- Editing Transcluded Content: Ensure references are edited in their original context.
- Field Tokens & New References: Explore the role of field tokens in the new references.
- Bulk Editing and Management of References: Implement features that allow users to edit, delete, or modify multiple references at once.
- Reference Aliases: Implement a system where a reference can be recognized under different terms or labels.
- Transclusion Enhancements: Dive deeper into the potential of transclusion in relation to the References feature, especially in displaying content from one entity within another.
Visualization & Analysis:
- Enhanced Relationship Visualization for References: Integrate visual cues, such as color codes, to represent different types of references and their relationships.
- Analytics and Insights on References: Provide analytics on the usage of references.
- Graph View for References: Consider the growing demand for a graph view as references become more intricate and numerous.
- References in Relation Graphs: When implementing relation graphs, explore how references play a role in that.
Development & Feedback:
- Extending references features to relations: Which features of references are interesting to implement for the standard relations? Such as fields.
- Plugin and Extension Support for References: Support the Fibery community to develop plugins or extensions that enhance or add functionalities to the References feature.
Data Storage & Organization:
- Saving Highlighted Text in Reference Database: Implement a feature to save highlighted text in a reference database in markdown format.
- Organizing References Chronologically: Work on organizing reference entries in a database.
- Queries and Dynamic Display: Explore the potential of queries to dynamically display or list references inline based on certain criteria.
Collaboration & Access Management:
- Collaborative Editing and Notifications: Enable multiple users to collaboratively edit a reference and receive notifications about changes made by others.
- Customizable Access Management for References: Provide advanced access management capabilities.
Enhancements & Improvements:
- relation/reference confusion: Address the disconnect between inline references and relationships.
- Reference Templates: Allow users to create templates for references.
- Mobile and Tablet Support for References: Ensure that the References feature is optimized and user-friendly on mobile and tablet devices.