Bee con2016 presentation_20160125004_installing

41
What to think about when you’re planning to install Alfresco Angel Borroy developer @ keensoft

Transcript of Bee con2016 presentation_20160125004_installing

Page 1: Bee con2016 presentation_20160125004_installing

Whattothinkaboutwhenyou’replanningtoinstallAlfresco

AngelBorroydeveloper@keensoft

Page 2: Bee con2016 presentation_20160125004_installing

Disclaimer

“Nosourcecode weredevelopedduringthemakingofthispresentation.

Infact,nocodingabilitiesarerequiredatall.

Page 3: Bee con2016 presentation_20160125004_installing

CONCEPTSThinkingofinstallingAlfresco

Page 4: Bee con2016 presentation_20160125004_installing

BeforeinstallingComponents

Catalog

TechnologyStack

Subsystems

Extensions

Sizing

Admin

Installing Validating

Page 5: Bee con2016 presentation_20160125004_installing

Afterinstalling

Training Supporting

“Wecanthinkaboutthislater,neverthelessit’salsoamatterofthinking

AuditingImporting

Page 6: Bee con2016 presentation_20160125004_installing

COMPONENTSCATALOGBeforeinstalling

Page 7: Bee con2016 presentation_20160125004_installing

Componentscatalog- Programs

ComponentsCatalog

Program Defaultlocation (wizard)

Java java

Repo tomcat/alfresco.war

Activiti tomcat/alfresco.war

Share tomcat/share.war

SOLR tomcat/solr4.warsolr4

AOS tomcat/vti_bin.wartomcat/ROOT.war

LibreOffice libreoffice

ImageMagick common/bin

GhostScript common/bin

pdf2swf common/bin

PostgreSQL postgresql

Page 8: Bee con2016 presentation_20160125004_installing

Componentscatalog- Protocols

ComponentsCatalog

Protocol Defaultport

HTTP(s) 8080 (8443)

WebDAV 8080 (8443)

SPP 8080 (8443)

AJP 8009

CIFS SMB 445NetBIOS 137, 138, 139

NFS 2049

FTP 21

IMAP 143

SMTP 25

LibreOffice 8100

JMX 50500

WebServer80443

Page 9: Bee con2016 presentation_20160125004_installing

Componentscatalog- APIs

ComponentsCatalog

API Type Use

CMIS Remote HTTP (REST / SOAP)

Alfresco Repository REST Remote HTTP (JSON / HTML)

Alfresco RepositoryJavaScript

EmbeddedServer JavaScript(Rhino)

Alfresco RepositoryFreemarker Template

Embedded Freemarker (FTL)

Alfresco ShareJavaScript EmbeddedClient JavaScript (Aikau / YUI)

Alfresco SurfPlatform EmbeddedServer Java (SpringSurf)

Alfresco JavaPublic Embedded Server Java (Spring)

Page 10: Bee con2016 presentation_20160125004_installing

TECHNOLOGYSTACKBeforeinstalling

Page 11: Bee con2016 presentation_20160125004_installing

Technologystack- Server

TechnologyStack

Element Alternatives

OS Linux,MacOS, WindowsJDK OracleJDK, OpenJDK

Application Server ApacheTomcatJboss,WebLogic,WebSphere

WebServer ApacheHTTP, NGINXAmazonELB

Database PostgreSQL,MariaDB,MySQL

Storage NAS/NFSContentTransformer LibreOfficeImage Transformer ImageMagick

GhostScript GS

AlfrescoEnterprise

SupportedPlatforms

X

Page 12: Bee con2016 presentation_20160125004_installing

Technologystack- Client

TechnologyStack

Element Alternatives

OS Linux,MacOS,WindowsBrowser Chrome,Firefox,Safari

Explorer,EdgeOpera

Office LibreOffice 4,5MicrosoftOffice2016,2013,2011,2010

Mobile iOS,Android

AlfrescoEnterprise

SupportedPlatforms

Page 13: Bee con2016 presentation_20160125004_installing

SUBSYSTEMSBeforeinstalling

Page 14: Bee con2016 presentation_20160125004_installing

Subsystems

SubsystemsSubsystem Config location

Activities Feed activities-jobs.properties

Audit repository.properties (audit.*)

Authentication NTLM alfresco-authentication.propertiesLDAP ldap-authentication.propertiesAD ldap-ad-authentication.propertiesEXT external-authentication.propertiesKERB kerberos-authentication.propertiesPASS passthru-authentication-context.properties

Email inboundSMTP.propertiesoutboundSMTP.propertiesimap-server.properties

FileServers file-servers.properties

Transformers transformers.propertiesopenoffice-transform.propertiesimagemagick-transform.properties

Search common-search.propertiessolr-search.properties

GoogleDocsAOS

Page 15: Bee con2016 presentation_20160125004_installing

Subsystems

Subsystems- Authentication

http://docs.alfresco.com/community/concepts/auth-subsystem-types.html

Page 16: Bee con2016 presentation_20160125004_installing

EXTENSIONSBeforeinstalling

Page 17: Bee con2016 presentation_20160125004_installing

Extensions

Extensions

Addon URL

SiteHomePagePlus https://github.com/keensoft/alfresco-site-home-page-plus

AlfrescoESign Cert https://github.com/keensoft/alfresco-esign-cert

AlfrescoMyFilesQuota https://github.com/keensoft/alfresco-myfiles-quota

AlfrescoDatalist Constraints https://github.com/keensoft/alfresco-datalist-constraintsAlfresco Site HomePage https://github.com/keensoft/alfresco-site-home-page-plus

AlfrescoOCR https://github.com/keensoft/simple-ocr-action

Alfresco Datalist Constraints https://github.com/keensoft/alfresco-datalist-constraintsAlfresco JSConsole https://github.com/share-extras/js-console

ShareSiteCreators https://github.com/jpotts/share-site-creatorsUploaderPlus https://github.com/softwareloop/uploader-plus

ShareSiteLogoCustomize https://github.com/douglascrp/alfresco-share-site-logo-customization

AlfrescoAuditAnalysisandReporting http://sourceforge.net/projects/aaar/files/

JavaMelody https://github.com/javamelody/javamelody

Makeyourownlist

Page 18: Bee con2016 presentation_20160125004_installing

Extensions

Extensions

https://github.com/OrderOfTheBee/addons/wikihttps://github.com/OrderOfTheBee/addons/wiki/Technical-inclusion-criteria

Page 19: Bee con2016 presentation_20160125004_installing

Extensions- Development• ContentModel– Searching

• Customactions– Archiving– Publishing

• Custom(simple)workflows• Sharethemecustomization

Extensions

DocumentCentricvs

HumanCentric

Page 20: Bee con2016 presentation_20160125004_installing

SIZINGBeforeinstalling

Page 21: Bee con2016 presentation_20160125004_installing

Sizing• Numberofusers– 10%canbeconsideredasconcurrent

• Storagevolumeestimation– 2xcontent– 0,2xsearchindexes

• Identifyingrequirementsbyelement

Sizing

Page 22: Bee con2016 presentation_20160125004_installing

Sizing

Sizing

Component RequirementsWebServer RAM

ThreadpoolApacheTomcatAlfrescoApacheTomcatShare

RAMCPUThreadpool

ApacheTomcatSOLR4 RAMCPUThreadpool

LibreOffice RAMCPU

Database RAMThreadpool

Storage HD

Page 23: Bee con2016 presentation_20160125004_installing

Sizing- Scaling

Sizing

Page 24: Bee con2016 presentation_20160125004_installing

ADMINBeforeinstalling

Page 25: Bee con2016 presentation_20160125004_installing

Admin• Testing(anddocumenting)everyrequiredoperation*– StartingandstoppingAlfresco– Monitoring– Tuningadjustments– Backupandrestoring– Upgrading– Logfilesmanagement– WorkingwithAlfrescomodules

Admin*YES:youhavetotestalltheseoperationsBEFORE

installinginaproductionenvironment

Page 26: Bee con2016 presentation_20160125004_installing

INSTALLATIONPROCESSDuringinstalling

Page 27: Bee con2016 presentation_20160125004_installing

Installing• Wizardinstaller– https://www.alfresco.com/alfresco-community-download

• Installingfromscratch– https://wiki.alfresco.com/wiki/Community_file_list_201602-GA

• Thirdpartydistros– OrderoftheBee,Lotfux

• AmazonAWS(marketplace)• AlfrescoSPK

Installing

Page 28: Bee con2016 presentation_20160125004_installing

Installing• Documentingeverystep– Basesoftwareinstallation• Frontend,database,requiredprograms…

– Alfrescoinstallation– Configuration• SOLR,IMAP,SMTP,LDAPAD,CIFS,Kerberos,SPP…

– Extension– Tuning

InstallingThefewerconfiguration filesmodified, theeasier

upgradingandmaintainingwillbe

Page 29: Bee con2016 presentation_20160125004_installing

VALIDATINGDuringinstalling

Page 30: Bee con2016 presentation_20160125004_installing

Validating• Testingservicesavailability

– Repository https://server.org/alfresco– Share https://server.org/share– Adminconsole https://server.org/alfresco/s/admin– Monitoring https://server.org/alfresco/monitoring– SOLR https://server.org/solr4– CMIS

• https://server.org/alfresco/api/-default-/public/cmis/versions/1.1/atom

– SPP https://server.org/alfresco/aos– WebDAV https://server.org/alfresco/webdav– CIFS smb://server.org/alfresco

Validating

Page 31: Bee con2016 presentation_20160125004_installing

Validating• Capacity planning– AlfrescoBenchmarkFramework*– Customdeveloped

• CMISclient https://chemistry.apache.org/

– AlfrescoRepo

• SeleniumWebDriver http://www.seleniumhq.org/projects/webdriver/

– AlfrescoShare

• ApacheJmeter http://jmeter.apache.org/

– AlfrescoRepo– AlfrescoShare

Validating*Useitatyourownrisk:niceforenormousinstallationsbutoversizedforsmallerone

Page 32: Bee con2016 presentation_20160125004_installing

Validating• Functional validation– Customizationsmanual– Usingrealdata– Identifyingcircuitsofuse– Execution• Handmade• Automating

– SeleniumWebdriver enhancedbyLeadFoot

Validating

Page 33: Bee con2016 presentation_20160125004_installing

CROPTRUSTUseCase

Page 34: Bee con2016 presentation_20160125004_installing

Usecase– CropTrust

Page 35: Bee con2016 presentation_20160125004_installing

Usecase– CropTrustElement Adaptation Comments

Share REQUIRED Main user web interface, used for Edit Online Office documents and also useful for system and diagnostic operations

Repo REQUIRED Main Alfresco functionality SOLR 4 REQUIRED Required for searching and indexing

LibreOffice REQUIRED Recommended as Share is installed ImageMagick REQUIRED Recommended as Share is installed

GhostScript REQUIRED Recommended as Share is installed pdf2swf UNNEEDED Not required if any organization

browser support HTML 5 Activiti REQUIRED Main Alfresco functionality

CIFS REQUIRED Main use case requirement

WebDAV REQUIRED Alternative to CIFS FTP OPTIONAL Useful for large volume loads

IMAP REQUIRED Useful for organizing emails and attachments

SMTP REQUIRED Useful to notify Alfresco users SPP REQUIRED As a second alternative to CIFS and

for Edit Online from web browser

Activities Feed REQUIRED Alfresco Share functionality, it can be enabled/disabled by user

Audit UNNEEDED Low impact without an analytics app Authentication REQUIRED Based on ldap-ad, passthru and

Kerberos Email REQUIRED Useful to notify Alfresco users

File Servers REQUIRED CIFS Transformers REQUIRED Recommended as Share is installed

Google Docs OPTIONAL Google Docs Alfresco addon must to be patched before in order to avoid sending oAuth tokens to alfresco.com1

CMIS REQUIRED CMS integration (WordPress)

1 https://github.com/Alfresco/google-docs/issues/7

CMIS REQUIRED Alfresco Repository REST OPTIONAL

Alfresco Repository JavaScript UNNEEDED Alfresco Repository Freemarker

Template UNNEEDED

Alfresco Share JavaScript UNNEEDED Alfresco Surf Platform UNNEEDED

Alfresco Java Public UNNEEDED

ComponentsCatalog

Element Adaptation Comments Share REQUIRED Main user web interface, used for Edit

Online Office documents and also useful for system and diagnostic operations

Repo REQUIRED Main Alfresco functionality SOLR 4 REQUIRED Required for searching and indexing

LibreOffice REQUIRED Recommended as Share is installed ImageMagick REQUIRED Recommended as Share is installed

GhostScript REQUIRED Recommended as Share is installed pdf2swf UNNEEDED Not required if any organization

browser support HTML 5 Activiti REQUIRED Main Alfresco functionality

CIFS REQUIRED Main use case requirement

WebDAV REQUIRED Alternative to CIFS FTP OPTIONAL Useful for large volume loads

IMAP REQUIRED Useful for organizing emails and attachments

SMTP REQUIRED Useful to notify Alfresco users SPP REQUIRED As a second alternative to CIFS and

for Edit Online from web browser

Activities Feed REQUIRED Alfresco Share functionality, it can be enabled/disabled by user

Audit UNNEEDED Low impact without an analytics app Authentication REQUIRED Based on ldap-ad, passthru and

Kerberos Email REQUIRED Useful to notify Alfresco users

File Servers REQUIRED CIFS Transformers REQUIRED Recommended as Share is installed

Google Docs OPTIONAL Google Docs Alfresco addon must to be patched before in order to avoid sending oAuth tokens to alfresco.com1

CMIS REQUIRED CMS integration (WordPress)

1 https://github.com/Alfresco/google-docs/issues/7

Subsystems

Page 36: Bee con2016 presentation_20160125004_installing

Usecase– CropTrust

Element Supported version (or upper) OS Ubuntu 14.04.1 LTS x64

JDK Oracle JDK 8 U31 x64 Application

Server Apache Tomcat 7.0.59

Web Server Apache HTTP server 2.21 Database PostgreSQL 9.3.5

MySQL 5.6.19a / MariaDB 10.0.14 Amazon Aurora

Storage NAS / NFS2 Content

Transformer LibreOffice 4.2.5.2

Image Transformer

ImageMagick 6.8.6-6

SWF Previewer

SWFTools 0.9.2

Ghostscript GS 8.7.0 Finder 10.9.1

1 Amazon ELB or NGINX should work but are not on Alfresco official specifications 2 Amazon S3 storage only supported by Alfresco Enterprise Edition

Addon Adaptation Comments Site Home Page

Plus OPTIONAL A simpler version is available: Document

Library as home page for every Site (fixed and non configurable).

Alfresco Firma OPTIONAL User certificates allows signature operations, but there are some doubts about legal concernments.

Alfresco Site Groups

UNNEEDED OOTB group management is enough.

Alfresco My Files Quota

UNNEEDED OOTB quota control is enough.

Alfresco Agreement Filter

UNNEEDED No legal concernments have been identified on using Alfresco inside the organization.

Alfresco Datalist Constraints

OPTIONAL Users will be able to maintain their own lists, but is left for future analysis to determine how often are these values changing.

Alfresco OCR REQUIRED Some documents are incorporated from a scanner and even some other are only paper based, so OCR should be a must.

Share Site Creators

REQUIRED No everyone in the organization should create sites.

Uploader Plus OPTIONAL Based on classification policy (restrictive or allowable).

Share Site Logo Customize

UNNEEDED No so deeper visual customization is required.

Alfresco Unzip Action

UNNEEDED No ZIP documents are managed by users.

Alfresco Audit Analysis and

Reporting

UNNEEDED Not by now.

EML previewer REQUIRED On using IMAP, EML pre-visualization is a must.

Extensions

TechnologyStack

Page 37: Bee con2016 presentation_20160125004_installing

Usecase– CropTrust

Component Requirements Web Server 512 Kb RAM

Default thread pool Apache Tomcat

Alfresco 3 GB RAM 2x server CPU >= 2.0 GHz Default thread pool

Apache Tomcat SOLR4

3 GB RAM 2x server CPU >= 2.0 GHz Default thread pool

LibreOffice 2 GB RAM Database 1 GB RAM

Default thread pool Storage 120 GB

200 MB/s or higher

Sizing

Page 38: Bee con2016 presentation_20160125004_installing

Usecase– CropTrust

Validating

Installing Admin

Page 39: Bee con2016 presentation_20160125004_installing

HAVEWEFINISHEDYET?Afterinstalling

Page 40: Bee con2016 presentation_20160125004_installing

Afterinstalling

Training Supporting AuditingImporting

“Whattothinkaboutonceyou’veinstalledAlfresco”

Maybenextyear

Page 41: Bee con2016 presentation_20160125004_installing

Whattothinkaboutwhenyou’replanningtoinstallAlfresco

AngelBorroydeveloper@keensoft