SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Alfresco at University of
Zaragoza
A history of (open) conversation
José A. Gutiérrez
Systems Analyst at University of Zaragoza
Angel Borroy
Developer at keensoft
The history
Protohistory
When Alfresco was born
Middle Ages
Fighting against the Elements
Machine Age
Finding automation paths
Information Age
Plan for World Domination
4.2.c
5.0.d
201605
201704
Protohistory
Before 2014
When Alfresco was born
Little history about Alfresco in the University of Zaragoza till 2014
●
Early 2013: First installation: National Security Framework (only one site)
●
Installed by Central Services Staff
●
Main blocking problems detected (LDAP synch…)
●
End 2013: General Secretariat request a custom development for document management
When Alfresco was born
Setup of the current system
●
September 2014: Installation of a development server with Alfresco 4.2.c
●
October 2015: Setup as production server with Alfresco 5.0.c
●
Access: Alfresco Share / WebDAV
Strange users requests
File Server
Request
Use Alfresco as a pure file server ("shared folder")
•
Current fileserver at the University can't be integrated with our LDAP server
•
Alfresco makes it easy to delegate management of access and permissions
Response
This is a Bad Idea. It is better to fix the server that using an inappropriate tool.
Lesson learned
The customer is not always right
Strange users requests
Web Server
Request
Use Alfresco to make some documents available in an intranet.
•
User already knows how to limit access using Alfresco
Response
This is also a Bad Idea. Learn how to administer your existing web content management system instead.
Lesson learned
Users should be informed about what they can already do, and about what Alfresco is for.
Middle Ages
2014
Fighting against the Elements
Element 1 : LDAP
Request
We use the ou=Accounts branch to authenticate and to lookup uidNumber, and then the ou=Admon to get
the businessCategory, which is used to limit access permissions.
uidNumber -> uid=$uname,ou=Accounts,dc=unizar,dc=es
uid=$uidNumber,ou=Admon,dc=unizar,dc=es
Response
https://github.com/keensoft/alfresco-summit-2014/tree/master/10-enhancements/06-custom-ldap-id
Lesson learned
Extending an Alfresco subsystem
Fighting against the Elements
Element 2 : Site creation
Request
Not every user should be able create a site in Alfresco
Response
https://github.com/keensoft/alfresco-summit-2014/tree/master/10-enhancements/09-hide-create-site
POST /share/service/modules/create-site?sUazqGRHn3Rd9x18TX4sOXWz/zNx8Go9gQ6MOoFt+V4= HTTP/1.1
* The requested URL returned error: 403 Forbidden
Lesson learned
Extending an Alfresco feature
Fighting against the Elements
Element 3 : Folder quota
Request
Users are allowed to upload unlimited amount of data in Sites but a quota is required for other zones (as
shared folders)
Response
https://github.com/keensoft/alfresco-myfiles-quota
Lesson learned
Adopting an Alfresco addon
Machine Age
2015
Finding automation paths
First use conditions
Request
Every new user has to accept Terms of Use for the service
Response
https://github.com/keensoft/alfresco-agreement-filter
Lesson learned
@WebFilter annotation as non-intrusive mechanism (web-fragment also will do)
Finding automation paths
Blocking uploads by mime type
Request
Some mime types (as videos) are not allowed in Alfresco
Response
https://github.com/keensoft/alfresco-mimetype-blocker
Lesson learned
Developing a behaviour to stop an uploading
Finding automation paths
Delegating group creation to Site Managers
Request
As there are a lot of users, local groups to sites are
required to be managed by Site Managers
Response
https://github.com/keensoft/alfresco-site-groups
Lesson learned
Aikau!
Finding automation paths
Administering with CURL
Request
Managing resources creation requires to be integrated in automatic processes by using scripts.
Bacht creating of sites from CSV file.
Response
https://github.com/ecm4u/alfresco-shell-tools
Lesson learned
Scripting (a lot of)
Finding automation paths
Administering with CURL
1. Existing shell tools (September 2015) won’t work with Alfresco 4.2 or later
2. New Cross-Site Request Forgery (CSRF) protection
3. Parsing headers to get cookies (JSESSIONID) required
4. Request “create-site” and parse initial response to get Alfresco-CSRFToken
5. POST all of this together with JSON data to get the site created
Finding automation paths
Unzipping contents automatically
Request
Unzip every ZIP file when uploading to Alfresco
Response
https://angelborroy.wordpress.com/2015/05/22/alfresco-customizing-alfresco-unzip-action-addon/
Lesson learned
Programming is not always required
Information Age
2016+
Plan for World Domination
Sharing documents with external users
Request
Content should be shared with external (public) users but metadata should not
Response
https://loftux.se/en/products-and-add-ons/alfresco-add-ons/alfresco-sharebox-1
Lesson learned
Wheel has not to be re-invented every time
Plan for World Domination
Sharing documents with external people
Request
Share externally not a single file but a full directory
Response
https://www.drupal.org/project/cmis
Lesson learned
Open Standards are good!
Sharing documents with external people
Request
Share externally a file but hide author’s name
Response
In-house php development to “translate” Alfresco URL public page to direct link to document
https://documenta.example.com/share/s/3CFfr9acT9yuBdM0gyZmWA
https://auxiliar.example.com/ur.php?u=3CFfr9acT9yuBdM0gyZmWA
https://documenta.example.com/share/proxy/alfresco-
noauth/api/internal/shared/node/3CFfr9acT9yuBdM0gyZmWA/content/?c=force&a=false
Lesson learned
Keep it simple!
Plan for World Domination
Plan for World Domination
Inviting service issues
Request
Inviting external users using a Manager created by InviteService results in DeniedAccess Exception
Response
https://issues.alfresco.com/jira/browse/ALF-21833
Lesson learned
Raising and following (solved) issues
Plan for World Domination
Current HW/SW features
VMware vSphere - CPU:2vCPU / RAM:8GB
HD: OS - 25 GB (SAS 15 krpm, Write RAID 10, Read RAID 5)
Swap - 4 GB SSD
Data - 100 GB (similar to OS) – Grown to 500 GB
CentOS GNU/Linux 7.0 – MySQL 5.x
Some statistics (April 2017)
●
Number of users: 1511
●
Number of sites: 93
●
Storage in users’ Homes: 243 MB
●
Main storage: 94 GB
●
Files: 79879
●
Database storage: 627 MB / 3 GB
●
Service support requests: 75/year, approx.
txt xml pk8 jpg pt8 docx xlsx doc xls pdf
0
5000
10000
15000
20000
25000
30000
35000
Learning from the history
Protohistory
When Alfresco was born
Middle Ages
Fighting against the Elements
Machine Age
Finding automation paths
Information Age
To Infinity and Beyond!
Finding experts outside the University
Extending Alfresco
Annotation, scripting, Aikau
Issues, PHP
Alfresco at University of
Zaragoza
A history of (open) conversation
José A. Gutiérrez
Systems Analyst at University of Zaragoza
Angel Borroy
Developer at keensoft

Weitere ähnliche Inhalte

Was ist angesagt?

WWW09 - Triplify Light-Weight Linked Data Publication from Relational Databases
WWW09 - Triplify Light-Weight Linked Data Publication from Relational DatabasesWWW09 - Triplify Light-Weight Linked Data Publication from Relational Databases
WWW09 - Triplify Light-Weight Linked Data Publication from Relational DatabasesSören Auer
 
Bee con2016 lightning_20160125005_ocr
Bee con2016 lightning_20160125005_ocrBee con2016 lightning_20160125005_ocr
Bee con2016 lightning_20160125005_ocrAngel Borroy López
 
How to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share featureHow to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share featureAngel Borroy López
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...Symphony Software Foundation
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with AlfrescoWildan Maulana
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Toni de la Fuente
 
Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Toni de la Fuente
 
Docker for Ruby Developers
Docker for Ruby DevelopersDocker for Ruby Developers
Docker for Ruby DevelopersAptible
 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on DockerFranck Pachot
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with dockerRuoshi Ling
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platformLuis Cabaceira
 
Exploiting Directory Permissions on macOS
Exploiting Directory Permissions on macOSExploiting Directory Permissions on macOS
Exploiting Directory Permissions on macOSCsaba Fitzl
 
Take your database source code and data under control
Take your database source code and data under controlTake your database source code and data under control
Take your database source code and data under controlMarcin Przepiórowski
 
24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAsKellyn Pot'Vin-Gorman
 
Monitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaMonitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaToni de la Fuente
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentationwebhostingguy
 
Configuration Management Tools on NX-OS
Configuration Management Tools on NX-OSConfiguration Management Tools on NX-OS
Configuration Management Tools on NX-OSCisco DevNet
 

Was ist angesagt? (20)

WWW09 - Triplify Light-Weight Linked Data Publication from Relational Databases
WWW09 - Triplify Light-Weight Linked Data Publication from Relational DatabasesWWW09 - Triplify Light-Weight Linked Data Publication from Relational Databases
WWW09 - Triplify Light-Weight Linked Data Publication from Relational Databases
 
Bee con2016 lightning_20160125005_ocr
Bee con2016 lightning_20160125005_ocrBee con2016 lightning_20160125005_ocr
Bee con2016 lightning_20160125005_ocr
 
How to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share featureHow to extend (properly) and old Alfresco Share feature
How to extend (properly) and old Alfresco Share feature
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
201408 - Alfresco Tech Talk Live - Maven SDK 2.0
201408  - Alfresco Tech Talk Live - Maven SDK 2.0201408  - Alfresco Tech Talk Live - Maven SDK 2.0
201408 - Alfresco Tech Talk Live - Maven SDK 2.0
 
Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012
 
Docker for Ruby Developers
Docker for Ruby DevelopersDocker for Ruby Developers
Docker for Ruby Developers
 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
 
Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Exploiting Directory Permissions on macOS
Exploiting Directory Permissions on macOSExploiting Directory Permissions on macOS
Exploiting Directory Permissions on macOS
 
Kayobe_desc
Kayobe_descKayobe_desc
Kayobe_desc
 
Take your database source code and data under control
Take your database source code and data under controlTake your database source code and data under control
Take your database source code and data under control
 
24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs
 
Monitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/IcingaMonitoring Alfresco with Nagios/Icinga
Monitoring Alfresco with Nagios/Icinga
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
dNFS for DBA's
dNFS for DBA'sdNFS for DBA's
dNFS for DBA's
 
Configuration Management Tools on NX-OS
Configuration Management Tools on NX-OSConfiguration Management Tools on NX-OS
Configuration Management Tools on NX-OS
 

Ähnlich wie Alfresco at University of Zaragoza History

Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Tracy Kent
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Simplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi CloudsSimplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi CloudsAlluxio, Inc.
 
Alfresco Content Services - Solution Document
Alfresco Content Services - Solution DocumentAlfresco Content Services - Solution Document
Alfresco Content Services - Solution DocumentManish Chopra
 
Rivera_COSC880_Presentation
Rivera_COSC880_PresentationRivera_COSC880_Presentation
Rivera_COSC880_PresentationEmanuel Rivera
 
Drupal for Higher Education and Virtual Learning
Drupal for Higher Education and Virtual LearningDrupal for Higher Education and Virtual Learning
Drupal for Higher Education and Virtual LearningGabriel Dragomir
 
Plone A Content Management System Chitra Mohla
Plone A Content Management System Chitra MohlaPlone A Content Management System Chitra Mohla
Plone A Content Management System Chitra Mohlabrighteyes
 
Why contribute to open source projects
Why contribute to open source projectsWhy contribute to open source projects
Why contribute to open source projectsKranti Parisa
 
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...Alluxio, Inc.
 
20100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v120100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v1Gilles Guirand
 
IESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real WorldIESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real WorldSrinath Perera
 
BrownSites: Building and Managing a CMS Infrastructure for Higher Ed
BrownSites: Building and Managing a CMS Infrastructure for Higher EdBrownSites: Building and Managing a CMS Infrastructure for Higher Ed
BrownSites: Building and Managing a CMS Infrastructure for Higher EdAlozie Nwosu
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAlphageeks
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in LibrariesCary Gordon
 
Alfresco Integrations - Alfresco Devcon 2012
Alfresco Integrations - Alfresco Devcon 2012Alfresco Integrations - Alfresco Devcon 2012
Alfresco Integrations - Alfresco Devcon 2012Jared Ottley
 
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...datascienceiqss
 
Open Source Library System Software: Libraries Are Doing it For Themselves
Open Source Library System Software: Libraries Are Doing it For ThemselvesOpen Source Library System Software: Libraries Are Doing it For Themselves
Open Source Library System Software: Libraries Are Doing it For Themselvesloriayre
 
An Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual SystemsAn Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual SystemsArtefactual Systems - AtoM
 

Ähnlich wie Alfresco at University of Zaragoza History (20)

Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Simplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi CloudsSimplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
Simplified Data Preparation for Machine Learning in Hybrid and Multi Clouds
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Alfresco Content Services - Solution Document
Alfresco Content Services - Solution DocumentAlfresco Content Services - Solution Document
Alfresco Content Services - Solution Document
 
Rivera_COSC880_Presentation
Rivera_COSC880_PresentationRivera_COSC880_Presentation
Rivera_COSC880_Presentation
 
Drupal for Higher Education and Virtual Learning
Drupal for Higher Education and Virtual LearningDrupal for Higher Education and Virtual Learning
Drupal for Higher Education and Virtual Learning
 
Plone A Content Management System Chitra Mohla
Plone A Content Management System Chitra MohlaPlone A Content Management System Chitra Mohla
Plone A Content Management System Chitra Mohla
 
Why contribute to open source projects
Why contribute to open source projectsWhy contribute to open source projects
Why contribute to open source projects
 
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...Speeding up I/O for Machine Learning  ft Apple Case Study using TensorFlow, N...
Speeding up I/O for Machine Learning ft Apple Case Study using TensorFlow, N...
 
20100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v120100707 e z_rmll_gig_v1
20100707 e z_rmll_gig_v1
 
IESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real WorldIESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real World
 
BrownSites: Building and Managing a CMS Infrastructure for Higher Ed
BrownSites: Building and Managing a CMS Infrastructure for Higher EdBrownSites: Building and Managing a CMS Infrastructure for Higher Ed
BrownSites: Building and Managing a CMS Infrastructure for Higher Ed
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in Libraries
 
Alfresco Integrations - Alfresco Devcon 2012
Alfresco Integrations - Alfresco Devcon 2012Alfresco Integrations - Alfresco Devcon 2012
Alfresco Integrations - Alfresco Devcon 2012
 
Site Manager rocks!
Site Manager rocks!Site Manager rocks!
Site Manager rocks!
 
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...
Towards a common deposit api (the dataverse example) Elizabeth Quigley + Phil...
 
Open Source Library System Software: Libraries Are Doing it For Themselves
Open Source Library System Software: Libraries Are Doing it For ThemselvesOpen Source Library System Software: Libraries Are Doing it For Themselves
Open Source Library System Software: Libraries Are Doing it For Themselves
 
An Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual SystemsAn Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual Systems
 

Mehr von Angel Borroy López

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Using Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms togetherUsing Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms togetherAngel Borroy López
 
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...Angel Borroy López
 
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1Angel Borroy López
 
Docker Init with Templates for Alfresco
Docker Init with Templates for AlfrescoDocker Init with Templates for Alfresco
Docker Init with Templates for AlfrescoAngel Borroy López
 
Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0Angel Borroy López
 
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseHow to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseAngel Borroy López
 
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud NativeCSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud NativeAngel Borroy López
 
Alfresco Embedded Activiti Engine
Alfresco Embedded Activiti EngineAlfresco Embedded Activiti Engine
Alfresco Embedded Activiti EngineAngel Borroy López
 
Collaborative Editing Tools for Alfresco
Collaborative Editing Tools for AlfrescoCollaborative Editing Tools for Alfresco
Collaborative Editing Tools for AlfrescoAngel Borroy López
 
Desarrollando una Extensión para Docker
Desarrollando una Extensión para DockerDesarrollando una Extensión para Docker
Desarrollando una Extensión para DockerAngel Borroy López
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfAngel Borroy López
 
A Practical Introduction to Apache Solr
A Practical Introduction to Apache SolrA Practical Introduction to Apache Solr
A Practical Introduction to Apache SolrAngel Borroy López
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaAngel Borroy López
 
How to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last ForeverHow to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last ForeverAngel Borroy López
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should KnowAngel Borroy López
 

Mehr von Angel Borroy López (20)

Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Using Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms togetherUsing Generative AI and Content Service Platforms together
Using Generative AI and Content Service Platforms together
 
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
Enhancing Document-Centric Features with On-Premise Generative AI for Alfresc...
 
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
 
Docker Init with Templates for Alfresco
Docker Init with Templates for AlfrescoDocker Init with Templates for Alfresco
Docker Init with Templates for Alfresco
 
Before & After Docker Init
Before & After Docker InitBefore & After Docker Init
Before & After Docker Init
 
Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0Alfresco Transform Services 4.0.0
Alfresco Transform Services 4.0.0
 
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseHow to migrate from Alfresco Search Services to Alfresco SearchEnterprise
How to migrate from Alfresco Search Services to Alfresco SearchEnterprise
 
Using Podman with Alfresco
Using Podman with AlfrescoUsing Podman with Alfresco
Using Podman with Alfresco
 
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud NativeCSP: Evolución de servicios de código abierto en un mundo Cloud Native
CSP: Evolución de servicios de código abierto en un mundo Cloud Native
 
Alfresco Embedded Activiti Engine
Alfresco Embedded Activiti EngineAlfresco Embedded Activiti Engine
Alfresco Embedded Activiti Engine
 
Alfresco Transform Core 3.0.0
Alfresco Transform Core 3.0.0Alfresco Transform Core 3.0.0
Alfresco Transform Core 3.0.0
 
Collaborative Editing Tools for Alfresco
Collaborative Editing Tools for AlfrescoCollaborative Editing Tools for Alfresco
Collaborative Editing Tools for Alfresco
 
Desarrollando una Extensión para Docker
Desarrollando una Extensión para DockerDesarrollando una Extensión para Docker
Desarrollando una Extensión para Docker
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdf
 
Introduction to AWS
Introduction to AWSIntroduction to AWS
Introduction to AWS
 
A Practical Introduction to Apache Solr
A Practical Introduction to Apache SolrA Practical Introduction to Apache Solr
A Practical Introduction to Apache Solr
 
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de ZaragozaDocker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
Docker 101 - Zaragoza Docker Meetup - Universidad de Zaragoza
 
How to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last ForeverHow to Write Alfresco Addons that Last Forever
How to Write Alfresco Addons that Last Forever
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know
 

Kürzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Kürzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Alfresco at University of Zaragoza History

  • 1. Alfresco at University of Zaragoza A history of (open) conversation José A. Gutiérrez Systems Analyst at University of Zaragoza Angel Borroy Developer at keensoft
  • 2. The history Protohistory When Alfresco was born Middle Ages Fighting against the Elements Machine Age Finding automation paths Information Age Plan for World Domination 4.2.c 5.0.d 201605 201704
  • 4. When Alfresco was born Little history about Alfresco in the University of Zaragoza till 2014 ● Early 2013: First installation: National Security Framework (only one site) ● Installed by Central Services Staff ● Main blocking problems detected (LDAP synch…) ● End 2013: General Secretariat request a custom development for document management
  • 5. When Alfresco was born Setup of the current system ● September 2014: Installation of a development server with Alfresco 4.2.c ● October 2015: Setup as production server with Alfresco 5.0.c ● Access: Alfresco Share / WebDAV
  • 6. Strange users requests File Server Request Use Alfresco as a pure file server ("shared folder") • Current fileserver at the University can't be integrated with our LDAP server • Alfresco makes it easy to delegate management of access and permissions Response This is a Bad Idea. It is better to fix the server that using an inappropriate tool. Lesson learned The customer is not always right
  • 7. Strange users requests Web Server Request Use Alfresco to make some documents available in an intranet. • User already knows how to limit access using Alfresco Response This is also a Bad Idea. Learn how to administer your existing web content management system instead. Lesson learned Users should be informed about what they can already do, and about what Alfresco is for.
  • 9. Fighting against the Elements Element 1 : LDAP Request We use the ou=Accounts branch to authenticate and to lookup uidNumber, and then the ou=Admon to get the businessCategory, which is used to limit access permissions. uidNumber -> uid=$uname,ou=Accounts,dc=unizar,dc=es uid=$uidNumber,ou=Admon,dc=unizar,dc=es Response https://github.com/keensoft/alfresco-summit-2014/tree/master/10-enhancements/06-custom-ldap-id Lesson learned Extending an Alfresco subsystem
  • 10. Fighting against the Elements Element 2 : Site creation Request Not every user should be able create a site in Alfresco Response https://github.com/keensoft/alfresco-summit-2014/tree/master/10-enhancements/09-hide-create-site POST /share/service/modules/create-site?sUazqGRHn3Rd9x18TX4sOXWz/zNx8Go9gQ6MOoFt+V4= HTTP/1.1 * The requested URL returned error: 403 Forbidden Lesson learned Extending an Alfresco feature
  • 11. Fighting against the Elements Element 3 : Folder quota Request Users are allowed to upload unlimited amount of data in Sites but a quota is required for other zones (as shared folders) Response https://github.com/keensoft/alfresco-myfiles-quota Lesson learned Adopting an Alfresco addon
  • 13. Finding automation paths First use conditions Request Every new user has to accept Terms of Use for the service Response https://github.com/keensoft/alfresco-agreement-filter Lesson learned @WebFilter annotation as non-intrusive mechanism (web-fragment also will do)
  • 14. Finding automation paths Blocking uploads by mime type Request Some mime types (as videos) are not allowed in Alfresco Response https://github.com/keensoft/alfresco-mimetype-blocker Lesson learned Developing a behaviour to stop an uploading
  • 15. Finding automation paths Delegating group creation to Site Managers Request As there are a lot of users, local groups to sites are required to be managed by Site Managers Response https://github.com/keensoft/alfresco-site-groups Lesson learned Aikau!
  • 16. Finding automation paths Administering with CURL Request Managing resources creation requires to be integrated in automatic processes by using scripts. Bacht creating of sites from CSV file. Response https://github.com/ecm4u/alfresco-shell-tools Lesson learned Scripting (a lot of)
  • 17. Finding automation paths Administering with CURL 1. Existing shell tools (September 2015) won’t work with Alfresco 4.2 or later 2. New Cross-Site Request Forgery (CSRF) protection 3. Parsing headers to get cookies (JSESSIONID) required 4. Request “create-site” and parse initial response to get Alfresco-CSRFToken 5. POST all of this together with JSON data to get the site created
  • 18. Finding automation paths Unzipping contents automatically Request Unzip every ZIP file when uploading to Alfresco Response https://angelborroy.wordpress.com/2015/05/22/alfresco-customizing-alfresco-unzip-action-addon/ Lesson learned Programming is not always required
  • 20. Plan for World Domination Sharing documents with external users Request Content should be shared with external (public) users but metadata should not Response https://loftux.se/en/products-and-add-ons/alfresco-add-ons/alfresco-sharebox-1 Lesson learned Wheel has not to be re-invented every time
  • 21. Plan for World Domination Sharing documents with external people Request Share externally not a single file but a full directory Response https://www.drupal.org/project/cmis Lesson learned Open Standards are good!
  • 22. Sharing documents with external people Request Share externally a file but hide author’s name Response In-house php development to “translate” Alfresco URL public page to direct link to document https://documenta.example.com/share/s/3CFfr9acT9yuBdM0gyZmWA https://auxiliar.example.com/ur.php?u=3CFfr9acT9yuBdM0gyZmWA https://documenta.example.com/share/proxy/alfresco- noauth/api/internal/shared/node/3CFfr9acT9yuBdM0gyZmWA/content/?c=force&a=false Lesson learned Keep it simple! Plan for World Domination
  • 23. Plan for World Domination Inviting service issues Request Inviting external users using a Manager created by InviteService results in DeniedAccess Exception Response https://issues.alfresco.com/jira/browse/ALF-21833 Lesson learned Raising and following (solved) issues
  • 24. Plan for World Domination Current HW/SW features VMware vSphere - CPU:2vCPU / RAM:8GB HD: OS - 25 GB (SAS 15 krpm, Write RAID 10, Read RAID 5) Swap - 4 GB SSD Data - 100 GB (similar to OS) – Grown to 500 GB CentOS GNU/Linux 7.0 – MySQL 5.x
  • 25. Some statistics (April 2017) ● Number of users: 1511 ● Number of sites: 93 ● Storage in users’ Homes: 243 MB ● Main storage: 94 GB ● Files: 79879 ● Database storage: 627 MB / 3 GB ● Service support requests: 75/year, approx. txt xml pk8 jpg pt8 docx xlsx doc xls pdf 0 5000 10000 15000 20000 25000 30000 35000
  • 26. Learning from the history Protohistory When Alfresco was born Middle Ages Fighting against the Elements Machine Age Finding automation paths Information Age To Infinity and Beyond! Finding experts outside the University Extending Alfresco Annotation, scripting, Aikau Issues, PHP
  • 27. Alfresco at University of Zaragoza A history of (open) conversation José A. Gutiérrez Systems Analyst at University of Zaragoza Angel Borroy Developer at keensoft