際際滷

際際滷Share a Scribd company logo
Overcoming common
knowledge: 100k nodes
in a single folder
Oksana Kurysheva
Oksana Kurysheva
Project Manager at ITD Systems
Queen of the Bees at Order of the Bee
My cat writes JavaScript for Aikau
Learn. Connect. Collaborate.
Agenda
100k nodes in a single folder
 Business use cases
 Problem statement
 Possible solutions
 Demo
Use Cases
Learn. Connect. Collaborate.
Use Case #1. Collaborative Content
Learn. Connect. Collaborate.
Use Case #2. Transactional Content
Learn. Connect. Collaborate.
What is the problem?
Learn. Connect. Collaborate.
Problem Statement. Alfresco Best Practices
Luis Cabaceira
Solution Architect, Alfresco
際際滷 from BeeCon 2017
Learn. Connect. Collaborate.
Learn. Connect. Collaborate.
Problem Statement. The reason
Learn. Connect. Collaborate.
Do we really need to hide the fact of document
existence from users?
 Alice thinks that there are 30 documents
 Mike thinks that there are 50 documents
 Administrator knows that there are 60 documents
Learn. Connect. Collaborate.
Do we really need to hide the fact of document
existence from users?
 Invoice #1
 Invoice #3
 Where is invoice #2? Can I create Invoice #4 or does it exist?
What can we do with it?
Learn. Connect. Collaborate.
Our approach
1. Do not hide existence of the node from the user
Learn. Connect. Collaborate.
Learn. Connect. Collaborate.
Our approach
1. Do not hide existence of the node from the user
2. Apply search and sort at DB level, make them really fast
Learn. Connect. Collaborate.
Our approach
1. Do not hide existence of the node from the user
2. Apply search and sort at DB level, make them really fast
3. Load single page of data into RAM
Learn. Connect. Collaborate.
Our approach
1. Do not hide existence of the node from the user
2. Apply search and sort at DB level, make them really fast
3. Load single page of data into RAM
4. Process this page with permissions, custom logic etc
Learn. Connect. Collaborate.
Our approach
1. Do not hide existence of the node from the user
2. Apply search and sort at DB level, make them really fast
3. Load single page of data into RAM
4. Process this page with permissions, custom logic etc
5. Return the data to the browser
Learn. Connect. Collaborate.
Field-level security
Learn. Connect. Collaborate.
Hidden issues
 Search by sensitive data
Learn. Connect. Collaborate.
Hidden issues
Learn. Connect. Collaborate.
Hidden issues
Live Demo
Questions?
Thank you!
ok@itdhq.com
https://github.com/ITDSystems/alvex-registers

More Related Content

Overcoming common knowledge: 100k nodes in a single folder