Open Source Collaboration Tools for Alfresco
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Untertitel |
| |
Serientitel | ||
Anzahl der Teile | 542 | |
Autor | ||
Lizenz | CC-Namensnennung 2.0 Belgien: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen. | |
Identifikatoren | 10.5446/61472 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
|
00:00
RechenwerkProdukt <Mathematik>SoftwareentwicklerDesintegration <Mathematik>App <Programm>Office-PaketKollaboration <Informatik>SoftwareentwicklerMereologieLebesgue-IntegralDokumentenserverKollaboration <Informatik>Dienst <Informatik>Kartesische KoordinatenDemo <Programm>GroupwareOpen SourceDefaultGraphfärbungKorrelationsfunktionSoftwareplattformOrdnung <Mathematik>Office-PaketSchwebungInformationsspeicherungKlasse <Mathematik>Installation <Informatik>VererbungshierarchieSnake <Bildverarbeitung>Computeranimation
01:36
TypentheorieInhalt <Mathematik>DokumentenserverDienst <Informatik>Selbst organisierendes SystemProdukt <Mathematik>Suite <Programmpaket>Notepad-ComputerSoftwareplattformKollaboration <Informatik>Open SourceDistributionenraumSoftwareQuellcodeElektronisches ForumWeb logProgrammbibliothekDerivation <Algebra>Singuläres IntegralSchlussregelAutorensystemGoogolOffice-PaketDatenmodellDatentypDesign by ContractAdressraumService providerCodeBildschirmmaskeMailing-ListeZeichenketteZahlenbereichGruppenoperationFreewareTermTransformation <Mathematik>MustererkennungWeb-SeiteThumbnailSoftwaretestOrdnung <Mathematik>TypentheorieProzess <Informatik>Design by ContractSoftwareplattformRechter WinkelDienst <Informatik>CASE <Informatik>Inhalt <Mathematik>Kategorie <Mathematik>MetadatenTermDokumentenserverGoogolProtokoll <Datenverarbeitungssystem>Office-PaketDefaultProzessautomationMaschinenschreibenBimodulCodeDifferenteNichtlinearer OperatorDatenflussKlassische PhysikVersionsverwaltungEndliche ModelltheorieService providerAdressraumKreisflächeSinguläres IntegralQuellcodeThumbnailQuaderMailing-ListeKartesische KoordinatenGruppenoperationMechanismus-Design-TheorieSchnittmengeEinfach zusammenhängender RaumInteraktives FernsehenInstantiierungWärmeübergangAutorisierungResultanteBildschirmmaskeEin-AusgabeOpen SourceSchlussregelInformationWeb-SeiteRegulärer Ausdruck <Textverarbeitung>IntegralSoftwareZeichenketteKollaboration <Informatik>DokumentenverwaltungssystemKonditionszahlProdukt <Mathematik>Filter <Stochastik>AppletOffene MengeMathematikTouchscreenEinsMereologieMedianwertBestimmtheitsmaßLesen <Datenverarbeitung>UmfangUngleichungCAN-BusBeobachtungsstudieStokes-IntegralsatzSystemaufrufSchnitt <Mathematik>Dichte <Physik>Projektive EbeneDateiformatPhysikalisches SystemSuchmaschineDatenverwaltungTorusAggregatzustandSpieltheorieDemoszene <Programmierung>EntscheidungstheorieTotal <Mathematik>Wort <Informatik>Physikalischer EffektBus <Informatik>GeradeInformationsspeicherungGefangenendilemmaComputeranimation
10:29
Design by ContractDienst <Informatik>MaßerweiterungAppletVektorrechnungApp <Programm>GruppenoperationWidgetPERM <Computer>DefaultCodeFunktion <Mathematik>Lokales MinimumKontrollstrukturInhalt <Mathematik>Registrierung <Bildverarbeitung>BootenDateiformatSchlussregelBildschirmsymbolPunktMathematikVisuelles SystemKomponente <Software>Element <Gruppentheorie>Software Development KitClientProzess <Informatik>EreignishorizontPunktwolkeGammafunktionRechnernetzEndliche ModelltheorieTransformation <Mathematik>StandardabweichungUnabhängige MengeAbfrageBrowserAutomatische IndexierungSchnelltasteObjekt <Kategorie>Wurzel <Mathematik>DokumentenserverDatenmodellKartesische KoordinatenIntegralInformationSoftwareentwicklerRoutingElement <Gruppentheorie>Zusammenhängender GraphUmwandlungsenthalpieAppletMechanismus-Design-TheorieMaßerweiterungOrdnung <Mathematik>ImplementierungBrowserInhalt <Mathematik>Software Development KitDokumentenserverProzess <Informatik>Projektive EbeneEreignishorizontStandardabweichungSinguläres IntegralFramework <Informatik>PunktwolkePunktCodeEndliche ModelltheorieRelativitätstheorieGruppenoperationNichtlinearer OperatorVisualisierungVarietät <Mathematik>Objekt <Kategorie>SchedulingMetadatenOffene MengeDifferenteClientDefaultCASE <Informatik>SchlussregelKollaboration <Informatik>REST <Informatik>DruckspannungEin-AusgabeWeb-ApplikationFunktionalDienst <Informatik>BenutzeroberflächeVersionsverwaltungBitrateEindeutigkeitOffice-PaketProgrammierungDemoszene <Programmierung>Intelligentes NetzSuite <Programmpaket>Rationale ZahlSpezielle unitäre GruppeBridge <Kommunikationstechnik>FreewareGravitationVerknüpfungsgliedComputerspielRechter WinkelMultiplikationsoperatorRahmenproblemDatenstrukturVorzeichen <Mathematik>AbstandBildverstehenOntologie <Wissensverarbeitung>GamecontrollerProdukt <Mathematik>SpieltheorieTorusGeradeArithmetisches MittelOrtsoperatorAlexander-PolynomDateiformatRechenwerkWärmeausdehnungForcingProtokoll <Datenverarbeitungssystem>ServerEntscheidungstheorieMathematikXMLComputeranimationFlussdiagramm
17:42
WebDAVProtokoll <Datenverarbeitungssystem>Unabhängige MengeSichtenkonzeptVersionsverwaltungBimodulRepository <Informatik>Kollaboration <Informatik>DokumentenserverInterface <Schaltung>SystemplattformOffene MengeMaßerweiterungRahmenproblemURLCodeProgrammierumgebungSpezialrechnerInhalt <Mathematik>GroupwareSoftwareplattformMaßerweiterungOpen SourceOffice-PaketSoftwareentwicklerIntegralVersionsverwaltungZusammenhängender GraphProjektive EbeneWeb-ApplikationWeb-SeiteDokumentenserverBildgebendes VerfahrenCodeDeskriptive StatistikProzess <Informatik>Kartesische KoordinatenOrdnung <Mathematik>Charakteristisches PolynomMultiplikationsoperatorProdukt <Mathematik>URLStichprobenumfangProtokoll <Datenverarbeitungssystem>Dienst <Informatik>sinc-FunktionImplementierungRechter WinkelServerInterface <Schaltung>COMOffene MengeGraphfärbungFlächentheorieZellularer AutomatSystemaufrufRahmenproblemDemoszene <Programmierung>Physikalischer EffektQuantisierung <Physik>BetragsflächePunktART-NetzGeradeArithmetische FolgeSpieltheorieAbstimmung <Frequenz>GruppenoperationIndexberechnungARM <Computerarchitektur>HMS <Fertigung>XMLUMLComputeranimation
23:03
Diskrete-Elemente-MethodeMaßerweiterungKollaboration <Informatik>VersionsverwaltungInhalt <Mathematik>SoftwareplattformDesintegration <Mathematik>ComputersicherheitGruppenoperationCodeDatentypSkriptspracheAppletRahmenproblemKlon <Mathematik>BenutzerprofilSampler <Musikinstrument>Dienst <Informatik>Interface <Schaltung>COMBimodulViewerStandardabweichungATMDateiformatKomponente <Software>StichprobeTermDokumentenserverKonfigurationsraumGeradeProjektive EbeneMaßerweiterungCASE <Informatik>TemplateBildgebendes VerfahrenSoftwareplattformOffice-PaketKartesische KoordinatenDokumentenserverDemo <Programm>GroupwareFreewareInstantiierungGraphfärbungComputeranimation
24:04
Kollaboration <Informatik>Partielle DifferentiationSimplexverfahrenGruppenoperationRahmenproblemDienst <Informatik>URLGeradeÄquivalenzklasseRückkopplungDesintegration <Mathematik>ComputersicherheitCodeEinsNetzadresseGruppenoperationProjektive EbeneMaßerweiterungBildgebendes VerfahrenComputeranimation
24:40
ComputersicherheitWeb logTermDatenmissbrauchKollaboration <Informatik>RückkopplungCodeGruppenoperationWikiGeradeUnendlichkeitW3C-StandardStellenringDesintegration <Mathematik>KonfigurationsraumDokumentenserverÄquivalenzklasseMaßerweiterungOrdnung <Mathematik>URLPunktProgrammierumgebungOffene MengeE-MailEntscheidungstheorieComputeranimation
25:18
Lokales MinimumGammafunktionLie-GruppeIkosaederKollaboration <Informatik>GruppenoperationRahmenproblemURLDienst <Informatik>TermComputersicherheitDatenmissbrauchWeb logRückkopplungKategorie <Mathematik>Konfiguration <Informatik>ProgrammbibliothekDokumentenserverElektronische PublikationLesezeichen <Internet>Wurzel <Mathematik>Abelsche KategorieFAQWeb SiteStichprobeEnergiedichteGreen-FunktionBrowserSichtenkonzeptVersionsverwaltungSchreib-Lese-KopfFontBildschirmmaskeDateiformatStandardabweichungWeb-SeiteSoftwareSoftwarewartungWort <Informatik>MechatronikSystemverwaltungVollständiger VerbandOffice <Programm>DatentypMathematikBenutzerfreundlichkeitVerschiebungsoperatorOffice-PaketProtokoll <Datenverarbeitungssystem>ServerSpezialrechnerProgrammierumgebungTopologieInhalt <Mathematik>MaßerweiterungInklusion <Mathematik>Web-ApplikationSystemaufrufGeradeMaßerweiterungMomentenproblemCASE <Informatik>VersionsverwaltungMathematikHilfesystemInstantiierungRoutingGroupwareHMS <Fertigung>Kollaboration <Informatik>Protokoll <Datenverarbeitungssystem>Gesetz <Physik>Inelastischer StoßSelbst organisierendes SystemMultiplikationsoperatorKonditionszahlKategorie <Mathematik>Ordnung <Mathematik>RahmenproblemZusammenhängender GraphOffice-PaketDemoszene <Programmierung>Güte der AnpassungProgrammierumgebungDifferenteEinsSondierungSoftwaretestProjektive EbenePunktwolkeBrowserServerBildgebendes VerfahrenKonfigurationsraumSchnittmengeKartesische KoordinatenIntegralDemo <Programm>URLApp <Programm>AuthentifikationGraphfärbungNichtlinearer OperatorZweiProgramm/QuellcodeComputeranimationXML
31:25
Office-PaketServerUnternehmensarchitekturBimodulTabellenkalkulationWeg <Topologie>MathematikGebäude <Mathematik>Repository <Informatik>Desintegration <Mathematik>CodeQuellcodeTermComputersicherheitDatenmissbrauchWeb logGruppenoperationKollaboration <Informatik>KonfigurationsraumDokumentenserverBrowserÄquivalenzklasseProjektive EbeneOffice-PaketParametersystemTemplateNetzadresseComputeranimation
32:07
Lokales MinimumGammafunktionMeta-TagPortscannerKlasse <Mathematik>Inhalt <Mathematik>DokumentenserverRückkopplungGeradeStellenringW3C-StandardUnendlichkeitKollaboration <Informatik>CodeGruppenoperationWikiComputersicherheitOffice-PaketTermDatenmissbrauchWeb logChi-Quadrat-VerteilungInklusion <Mathematik>Desintegration <Mathematik>MaßerweiterungOffice-PaketProjektive EbeneFlächeninhaltSpieltheorieCASE <Informatik>Ordnung <Mathematik>Elektronische PublikationEntscheidungstheorieURLBildgebendes VerfahrenDifferenteKategorie <Mathematik>VariableKonfigurationsraumProgrammierumgebungEreignishorizontStrömungsrichtungDivergente ReiheComputeranimationProgramm/Quellcode
33:03
FehlermeldungOffice-PaketProgrammbibliothekKonfigurationsraumWeb-SeitePasswortKategorie <Mathematik>FAQStichprobenplanWeb SiteLesen <Datenverarbeitung>Konfiguration <Informatik>SoftwarewartungElektronische PublikationLesezeichen <Internet>Wurzel <Mathematik>Abelsche KategorieUmsetzung <Informatik>SoftwaretestSystemverwaltungOffene MengeCASE <Informatik>DateiformatOffice-PaketSystemaufrufXMLComputeranimation
33:53
SpieltheorieWeb-SeiteKategorie <Mathematik>Konfiguration <Informatik>ProgrammbibliothekBitfehlerhäufigkeitElektronische PublikationSystemverwaltungOffice-PaketLesezeichen <Internet>Wurzel <Mathematik>Abelsche KategorieFAQStichprobeWeb SiteBrowserLokales MinimumGruppenoperationVersionsverwaltungEnergiedichteGreen-FunktionBildschirmfensterOffice-PaketMultiplikationsoperatorDemoszene <Programmierung>Wort <Informatik>MathematikVersionsverwaltungBitBrowserKonfigurationsraumSoftwaretestSchnittmengePhysikalisches SystemComputeranimation
35:02
Lokales MinimumMenütechnikHill-DifferentialgleichungGammafunktionOffice-PaketOffice <Programm>EnergiedichteBrowserGruppenoperationGreen-FunktionVersionsverwaltungStichprobeFAQWeb SiteProgrammbibliothekWikiSystemverwaltungSichtenkonzeptOffice-PaketGewicht <Ausgleichsrechnung>Ordnung <Mathematik>Bildgebendes VerfahrenBitMathematikSpieltheorieMultiplikationsoperatorComputeranimation
35:41
Web-SeiteBrowserOffice-PaketLokales MinimumVersionsverwaltungWeb SiteStichprobenplanFAQGraphStichprobeGruppenoperationSichtenkonzeptRechenwerkMultiplikationsoperatorMathematikAbgeschlossene MengeOrdnung <Mathematik>Computeranimation
36:15
StichprobeWeb SiteFAQBrowserSichtenkonzeptOffice-PaketVersionsverwaltungMarketinginformationssystemSystemverwaltungSoftwarewartungNetzwerkbetriebssystemEnergiedichteGreen-FunktionGruppenoperationLokales MinimumLesen <Datenverarbeitung>Rechter WinkelMathematikMultiplikationsoperatorDifferenteAggregatzustandKollaboration <Informatik>Office-PaketBitComputeranimation
37:07
EinsMedianwertGefangenendilemmaFreewareDokumentenserverKartesische KoordinatenOffice-PaketDifferenteSchnittmengeLebesgue-IntegralZusammenhängender GraphPunktwolkeKollaboration <Informatik>XMLUML
37:46
SystemplattformDienst <Informatik>Inhalt <Mathematik>Kollaboration <Informatik>Singuläres IntegralOffice-PaketOpen SourceAutomatische HandlungsplanungQuellcodeOrdnung <Mathematik>Produkt <Mathematik>SystemaufrufHypermediaInstantiierungE-MailOffene MengeGraphfärbungSondierungBeobachtungsstudieOpen SourceGemeinsamer SpeicherKollaboration <Informatik>Office-PaketDienst <Informatik>Inhalt <Mathematik>PunktwolkeSoftwareplattformComputeranimation
39:14
Projektive EbeneHypermediaE-MailGesetz <Physik>ComputeranimationFlussdiagramm
39:49
Einfach zusammenhängender RaumBitComputeranimationBesprechung/Interview
40:27
DivisionOffice-PaketIntegralTexteditorBrowserComputersicherheitRahmenproblemComputeranimationBesprechung/Interview
41:31
Rechter WinkelMultiplikationsoperatorIntegralGewicht <Ausgleichsrechnung>ZweiAbstandSummierbarkeitAutomatische HandlungsplanungGebäude <Mathematik>QuellcodeOrdnung <Mathematik>MusterspracheOffice-PaketMessage-PassingBesprechung/Interview
42:47
MAPEchtzeitsystemDemo <Programm>Kollaboration <Informatik>Office-PaketMereologieComputeranimation
43:40
HilfesystemRechter WinkelPerspektiveMathematikProjektive EbeneDigitale PhotographieEreignishorizontOpen SourceGroupwareDemo <Programm>Endliche ModelltheorieBitKollaboration <Informatik>Besprechung/InterviewComputeranimation
44:59
Besprechung/InterviewComputeranimation
45:46
Flussdiagramm
Transkript: Englisch(automatisch erzeugt)
00:06
Welcome to this session. We are talking today about open source collaboration tools for Alfresco, how to improve the online editing experience by using the Alfresco as document repository and some other known open source services for the collaborative editing online.
00:26
My name is Angel Boroy. I'm a developer evangelist in Highland, that is the company that is producing Alfresco today and I hope you enjoyed this session. Let's move with the agenda for today.
00:42
On the first part, we are going to review what Alfresco does. So the main features are Alfresco as csp and we are going also over this topic later and the second part will be focused on the default applications provided by Alfresco Integration API so you can understand
01:02
what the integrations we are going to explore later are adding to the to the product and after that we are going to focus on the online editing collaboration tools that we are testing today mainly LibreOffice, Collabor Online and OnlyOffice. So we are going
01:22
to see some live demos on how to integrate this with the first one, how to use that with Alfresco applications and finally some recap, some thoughts about the future and about these integrations we are going to explore. So let's move to the first topic, Alfresco as csp. So the
01:42
content service platform is a term that was coined by Garner back in 2014 and mainly what that means is that this a set of services, APIs and repositories that are working with content types, that are working with documents and that are helping to classify and to manage all these
02:05
documents. On the last year this topic was named as ECM, Enterprise Content Management, but in these days this term, this content service platform is the most used in order to classify this kind
02:22
of platforms like Alfresco. Remember also that Alfresco is an open source product, the main license is LGPL version 3, so you may copy, distribute and modify this software and you need to provide also source code if you are extending the Alfresco as it happens in the
02:50
in the modules in the add-ons we are going to see later. We are open to the community so you have all the source code available in the Alfresco github account. We have also Maven repository
03:02
because mainly this is developed with Java so you have this also this open Maven repository. You can get in touch with the community in the Alfresco hub, hub.alfresco.com and there is also the official documentation available that you can also contribute to improve that and we have
03:22
also some chatting channels like the Alfresco discord channel. So we are open to you, yes reach us if you have some thought of if you want just to improve the experience with the with the Alfresco open source product. So let's start reviewing what are the features provided by
03:43
Alfresco and by mainly all the other content service platforms. So this is like a classical flow of document management inside a content service platform so you start with the ingestion of the documents so you need to put the documents on the repository and in this step you
04:01
can apply some OCR transformation and classification operations and once we have the document inside the repository then we need to classify that by using content models describing the properties the metadata associated to a document. We need also we are providing also the searching by using this metadata this property these values and also the content of the documents. We can
04:24
also transform the documents yes changing the MIME type or for some enrichment of the metadata or the content and we can also provide some automations and workflow for the rules in order to work with the document to transform the document or to move the document between different
04:44
users and finally it's the collaboration is the review the co-authoring the online editing and some process that happens between the users on the same document and for that we have like a simple integration with Office and Google Docs that we are going to see later. So let's
05:06
move on the ingestion process so the ingestion process mainly is just getting a document that can be rotated that can be grained and we can apply some processes like OCR or transformation in order to get something more clear in order to get the test of the document and the right
05:25
quality so we can classify the document in this case we are extracting the metadata the type of the contract the name the taker provider address some metadata and also the content of the document and with that we have the document inside the alfresco repository. If we
05:45
move to the content model so the content model is something that is used in order to describe every document in order to classify the document with different metadata so in this case we are using a type that can be a list of a screen the name of the document taker that is the name
06:04
of the taker and provided also can be a list of different strings we can apply a regular expression in order to validate the input and the postal code and the content and with that with that definition we are providing UI forms for the users in order to change the properties
06:25
the values of the properties or in order to verify that is extracted in the right way we can upload the document also manually and something that we are also providing is the versioning for the content for the metadata so you can understand the different changes
06:44
that are happening on a document if we move to the searching part in alfresco we are providing three different uh search syntaxes so the first ones would be like free so you can use a term in order to get the information from metadata and content
07:03
you can use fts fts is the uh alfresco syntax so you can just combine your uh your terms with some properties with the value of some properties so in this case like the type contract and finally we have the standard cmis that is something related with SQL is like the SQL
07:26
syntax and also allows you to create some filters and some conditions on your documents so with that we are providing facets and we are providing also the results from your searching type and you can just connect with your documents for this process
07:46
we are also applying permissions so every user every document is associated to user or groups to some authorities so we are applying also that to your uh searching capabilities another service
08:02
is the transform service so for this transfer service we can create some renditions for instance a thumbnail of one document or we can start some pages we can also apply NLP to extract or to recognize some information that is on the document and finally we can apply
08:24
also some transformations to the mind type so finally you got like different versions of the input of the initial document if we move to the automation we have for instance these folder rules that are able to classify the document according to different criteria so for instance
08:45
for every document of type contract they have to start the approval workflow and the approval workflow is something that also is provided by the by the alfresco repository and that is relating in the activity engine that is a VPN engine so we can define a workflow for the document
09:02
and with different steps that are prepared for user interaction or for automating some process and connection with external services and so so these are like the first steps for a document and once the document is prepared once we have this document with all the metadata with the
09:26
content with the searching capabilities then we need to start working with that in many cases so by default alfresco is providing the circle protocol that can be used with office in order to
09:41
edit this office documents we have also support for google dot so we can copy the document to google docs you can edit the command in google docs and that is coming again back to the repository to alfresco repository but we have something in the middle that is not covered
10:01
that is the online editing the collaboration with an online and open source platform and this is what we are going to see today this is what we are going to explore in this session but let's start with the integration mechanisms and the applications that are provided
10:23
by alfresco default out of the box let's start with that if we talk about alfresco applications and integration api's just for you to understand how to integrate a solution with alfresco we can think of the main user applications that these days are two of them
10:47
we have one that is named sir this web application is like the legacy web application that provides the access to the documents and all the collaboration features and that is
11:05
it's built on top of freemaker and rodeo toolkit and ui so they are like alternative technologies and the development happens in java so we are creating java projects in order to extend this application on the other hand we have also the adf the alfresco development framework
11:28
that it's built on top of angular so you have some angular components and you can add your angular components to this ui application so there are different applications with different
11:45
sdks with different ways of extending currently many many users are still using sir but the new users are are using adf aca that is the alfresco content application it's one implementations of this adf so if you are planning
12:06
to create something new for the alfresco ecosystem then you need to move to the angular one right and if you are supporting still previous deployments of alfresco probably you want to create something for sir for the uh for the alfresco sir we are talking about
12:25
alfresco sir add-ons so you have on the alfresco documentation all the uh all the instructions in order to create this kind of extension for this application that can be yes configurating something of the application changing uh some behaviors and default behaviors
12:43
of the application you can uh create something that is programmatic so you can add new feature a new uh functionality to the application and you can even overwrite default behaviors of the application so this is very rich and it's really relying on this uh maven
13:03
project so it's a java project you add all your modifications and you deploy that on the ser web application if we move to the alfresco ui extension to the avf then this is something different then you need to use an angular project and you can overwrite or disable extension
13:23
points you can change some rules actions visual elements you can register new application routes and you can also reuse new rules of a lot of component so you have all the information also on the alfresco official documentation and
13:41
the extensibility this extending mechanism it's able to apply your angular components to the default application so you are working in this case with angular so you need a little knowledge of angular in order to extend that if we move to the integration api so remember that we were talking
14:02
about ser and adf that are mainly the uis are mainly the user applications that we are providing but even with that you have also some extension mechanisms on the repository so you have the res api and the even apis that we are uh we are compiling both into the alfresco job sdk
14:24
that the name is out of process because this integration happened out of the alfresco repository so you can use both res api and the events api that is relying on active enqueue from this sdk if you want to create an extension inside the repository then we have the in process sdk so with
14:44
this sdk you can create some new resin points or you can create some behavior different inside the alfresco repository and finally we are supporting also the standard cmis client that should be more or less also some out of process extension so let's go deeper with the
15:04
first one so this out of process is relying on events and rest apis again in the official documentation you have everything you need in order to use this api and this is based on cloud events specification and open spi specification so both events and the rest api are specified on
15:25
on standards that you can rely on and you have all the different uh actives and all the different information in relation with the activities comments notes and so on so you are able to interact with all the different entities of the repository by using events or using the rest api
15:47
if we move to the in process to the maven sdk that is relating in jama and you can just create a new content model you can add some new recipe inputs you can also create some behaviors for some policies in the repository so you can just create
16:04
new behaviors for that and add new code to the standard alfresco lifecycle for the notes you can create some transformations and stress some metadata and even you can create some schedule jobs so you have a wide variety of operations that you can extend on the alfresco
16:26
repository by using this kind of integration if we move to the cmis that is a standard developed by oasis so you have all the specification at this point alfresco is supporting like 90 percent of the standard so we have a wide coverage of the standard
16:43
and in this case we are working with the rest api bandis that can be in xml or in json so browser or atom poop and we have also some kind of services and navigation object multi-philing discovery version in relationship so we are able also to interact with the repository by using this
17:02
cmis standard that have clients for many different technologies so java obviously python and many different technologies that you can use so these are mainly the all the different ways of extending alfresco so remember the applications and if we
17:23
this ui applications these user applications but then we can also move to the repository and we can also extend the repository features by using one of the sdks so let's move to the next sector okay let's start with the online editing
17:47
collaboration tools but this is like the main topic of this session and we are going to start with libreoffice so the first integration with libreoffice was relying on webapp or cmis protocol
18:01
so we can see this sample from our partner from our community developer red pill improve that was just checking out the document editing the document checking in the document again so it was a process that was not that easy right so you have this description you have this process
18:23
description also for reference but we are going to explore something like is like more simple than that that is the colabora online project so colabora online is a project that is providing new office for the online editing so you have this project that is hosted by colabora online
18:47
itself that is the alfresco colabora online is an avant-garde alfresco that we are going to see later and is maintained by yesy yesy is a french company very focused in open source but the nice thing about that is that this project is coming from magenta that was a
19:05
nice company and this dani's company created some initial version then this developer jeremy from jc created something better araba came later to create something better and finally all this previous work was consolidated in the alfresco colabor online that
19:26
is currently the uh the version we are using so this uh this uh add-on that you have a label on this you have on the colabora online you have a com provides online editing for alfresco
19:43
using colabor online so many users can open the same document at the same time and they can collaborate together on the same document this integration is made by using new op this web application open platform interface protocol so that means that we are open an iframe inside
20:03
alfresco and it's really very handy because you have your iframe and you can just work with that without being out of alfresco so very clean implementation from that and it's providing an add-on for afresco server for the legacy application it's also providing an extension of the
20:25
ui for aca for adf an angular extension an angular component and it's providing also the alfresco repository add-on this alfresco repository add-on is required and you can deploy the ser add-on or the ui extension if you are using ser or if you are using adf aca application and
20:45
angular application but the repository is required because it's providing some services that are used by both ui applications and in order to test this project we have created
21:01
we have created a repository that includes a docker compose template that you can use to test the integration so this is just something that you can use to to test the the integration but if you want to deploy that in production or you want to move
21:22
farther with integration then probably you need to contact with jse or with you need to you need to spend some time in order to understand better how that works so this docker compose yes need some modifications for you the first one is that
21:40
you need to use to add your public urls for colabor and alfresco so in this alfresco setting i'm using this one that is my local ip but you need to add yours and then we are using the colabor online development everything so we are using this code with no ssl and we are exposing
22:02
that by using the port 998 so these are like the main characteristics of the docker compose just remember to add your own ip and we are also just extending the alfresco docker images in order to deploy the colabor platform extension from the repository and in order also
22:23
to deploy the colabor asset extension for the ser application we are not providing the colabor ic extension so we are not providing the avf extension the angular component because we want to compare this integration this colabor integration with only office since only office
22:40
don't have adf extension we are only using this but you can also deploy this colabor aca extension if you are using adf or aca there is no problem in doing that just follow the instructions on the on the main uh web page on the github project for and and you can
23:00
understand how to apply that and with no more explanations let's dive into the demo before starting with the demo just remember that you have in the colabor online github uh account you have this alfresco colabor online that is the project we are going to use that is
23:22
the one providing the add-ons for the repository this platform extension for the ser application this one we are not going to use the colabor ic extension the angular extension but you can also use that you have all the instructions below just for you to understand how to
23:40
build and deploy that and we are going to use this uh alfresco collaboration tools project that includes the docker compose template for both colabora and only office so for the colabora one we have this docker compose with some alfresco and ser docker image extensions
24:00
so just remember to check your ip so in my case uh my uh my ip is this one my public ip is this one so i need this is the one i need to use okay uh just change that in docker compose and without any additional instruction we can just start the docker
24:26
compose so let's start that i just have the project locally so docker compose up we are going to build the docker images so the docker images are very easy so we have this
24:46
the extension at this point and we are just standing the alfresco repository and copy the jar to the deployment folder and it's the same thing exactly for ser so we have a destination we are copying this extension to the deployment folder
25:04
so once the um once the deployment is ready then we need to use this url or this url in order to access the environment so just let's wait for it to start it looks like now is ready
25:23
so we can just go and open a new uh fresco with ser we are opening the ser web application that has this uh the collab around line um on it this extension we can just go and find some
25:49
document like this one and with that you can see this editing collab around line acting that is something that was added by the add-on if we click on that
26:04
then we have this we have the news so we have this iframe that is on the alfresco application we can just uh add something we can change something on that we can just save the document
26:21
and when we close then we have find the new document with the with all of the changes and also that version so let me create also uh some additional users so we can experiment how that works with many different users editing the same document i'll be back in a minute
26:46
okay so now we have two different users with access to the document we have the test one in this browser we have the test two in this other browser so if we start editing
27:00
the document with test one we can go back to this other user and we can see that currently is being edited with cloud online but we still can be editing the document also so with that we have collaborative editing with test one with test two we can make some changes for
27:22
instance i'm going to change that with the user with text two and we can save that if we move to the other one the change is happening is is live and we can change also from this other user this color and we can again save that so once we are back to the document we can see that
27:50
if we close also this edition and we we refresh the environment it's not being edited anymore
28:02
all the changes are happening on the document and on the version history we have the change happen by test two and test one so very clean it works as expected and is very useful to apply this kind of collaboration of editing collaboration with collabora online so
28:23
did work let's move to to the next one if we move to the only office integration then we have another case of collaboration so the initial integration was created at cetra 3 that user was working for parasift so they created the initial version and then this
28:46
was adopted by only office itself on the github account of only office in order to promote and to improve this integration so you have the project in the official github account of only office it provides online editing also and many users can be reading at the same time so it's more or
29:05
less the same thing as collabora but in this case we are using they are using a custom protocol that is not won't be and it updates the document after 10 seconds of inactivity in only office so you can also just tune that but it's a custom protocol created specifically for for this
29:23
operation you can also get access to the details on the github account and also the difference is that we are not using an iframe anymore but we are opening only office in a new browser with a new browser tab so we are editing the document on this tab and then we are going
29:41
back to alfresco we are this uh add-on is providing an alfresco server and alfresco repository so there is no optimum for adf for aca for the angular components in this case but you can still uh develop that because it's more or less the same thing as we have with
30:00
with the collabora apple uh the uh deployment provided again on the alfresco collaboration tools project with the only office folder is just using the only office document server uh but uh with the jwt uh opt-in enable because we are using the latest version of the
30:23
document server so we need to enable this authentication so we are using this uh secret and we are starting the secret in the um document server in the only office document server and we are also applying that to the alfresco repository so we are deploying the
30:42
the jar application in alfresco repository and we are adding this for the um alfresco global property so the only office url remember that this should be also your the public url and the secret that we are starting with the document server with the only office and we are
31:02
deploying the only fish integration in this application and no more uh no extension is available for the alfresco content app so extending the docker images just to add these settings the office the only office url and the jbt secret and creating this jbt secret
31:21
on the configuration for the docker compose so with that in mind let's start with the demo for only office again we have the only office project in the official only office with your instructions and you have also the releases ready to be deployed on that so you have both
31:47
label and we have created this only office project that again has the docker compose the docker compose templates for reference uh remember again to use your own uh public
32:02
ip for that yes change this parameter and then you guys you can just go with that so we have also the project again so we can start this on the only office folder and the extension in this case is more or less the same thing so we have this docker file and we are copying the
32:24
the add-on the jar file to the deployment folder since this is not supporting environment variables this add-on we are copying the configuration we won't also ask alfresco lower property so it's a small difference with the other with the jbt secret and also with the
32:42
public url and in series more or less decision we are standing the alfresco docker image and copying the yarn to the deployment folder so again more or less the same approach a simple docker compose with some extension for the alfresco docker images in order to apply that
33:03
so we can just go with that we can open again sir we are going to use the admin user for the first test let's see if that is working so in this case something that is also interesting is that if we
33:26
navigate to the same to the same document we were modifying before so this one we have now the red in only office or convert using only office so this is because only office is not supporting
33:43
the uh this format so we can convert the document and once the document is converted we have this one that is ready to be edited in only office so with that again this is only office window we can just change that and once we close these windows when we
34:06
say okay this is safe after some time we are going to get the modification in alfresco so you can say that the system still thinks that the document is being edited but if we wait a bit more
34:22
then we have the version 2.0 and we have the modification on it so it's also something that we can use very easily we just need to wait a bit to get the uh the changes in the alfresco repository and let's see now how that works when different users are editing the same document
34:43
let me create some configuration and let's move to that okay so we have a similar setting so we have the user test one in this browser we have the user test two in this other browser and just let's check what's happening when i click on edit in
35:03
only office so i'm editing in only office with the first user if i move to this one and i refresh i can see like the document is locked so i cannot uh quite it on that so i need yes uh some cooperation in order to uh collaborate with it
35:27
so i can close this one and wait a bit since that is not edited anymore and the same thing on the other side and we can just click on editing only office and editing only office again
35:46
so now we are both editing the same document at the same time so we have two users and two users if i change this one from user two okay and i close that will be safe
36:05
and if i change this order from user one so yes let's move to green again and i close again then probably or i expect to find the document is still locked by the other user so
36:24
let's wait a bit remember that there is some time you need to wait okay now everything all the changes are on the document and i have also this change so only the latest changes the latest change was updated to alfresco so we don't have the full history but we were able
36:46
to edit the document both at the same time by using only office right so the behavior is a bit different but it's still working and it's still able to provide collaboration between both okay that was also awesome and let's move with some more material for today
37:08
okay once we learn about alfresco what alfresco is providing and we learn also about all the different apis and application that alfresco is providing we review two different approaches for the
37:23
online editing collaboration one coming from cloud online that is relying on libre office and the other coming from only office so both integrations are providing atons for the repository for the set application and also the cloud online is providing an angular component
37:41
for the new ui for the adf aca alfresco ui application so with that just remember that alfresco is providing some content service platform features that can be useful for you in order to prepare the document for this online collaboration however in alfresco we are adding this collaborative editing feature by using external
38:05
services we are talking about the community edition the open source edition that you have the source code and so on so for this edition you need to add collaborative editing by using for instance only office or colabora online and as i said you can use share for both
38:22
and you can use adf for also for cloud online thanks to every contributor that made this real so as we saw before this was like a journey in order to create the colabora online for alfresco and also a shorter journey for the only office but it was a history of collaboration
38:48
and this is something that really makes that happens and made that valuable and if you are planning to integrate your service with alfresco yes contact me reach me yes talk me in the
39:03
in the conference or just reach me by the by any of my social media because really we like you to use our product and we like to create these collaboration histories so i hope that was a useful session for you you have my email and you have me also in the in the social media
39:24
so just always willing to help and willing to collaborate with you in some ideas or some projects you have it was a pleasure for my side see you there and bye yeah so
39:50
um i think that we have so we have about four minutes uh for questions i don't know angel if you if the connection is stable enough on your end um or if you can hear me so i have to
40:08
mention for the audience that angel today is uh is at fosdam so you may be able to see him also within the corridors i guess so uh can you hear me yeah yeah great
40:23
so let me try to fetch the questions yeah so can you hear me come in it's it's a bit
40:43
but i guess that we we can try yeah indeed so actually well uh don't hesitate for anyone in the chat don't hesitate to ask questions on my end i had one when it comes to the only office integration actually two of them um so you mentioned that you are opening uh the
41:01
only office editor now uh in in in a new tab instead of uh instead of an iframe for the like a restriction that you found within the office or is it is it more for answering a security concern or do you know about it no not really
41:34
i guess that was a restriction uh because this salon was started some years ago
41:42
and they created like a new uh pattern of integration this uh distance seconds waiting time um probably uh if if doing that on the current days let's call it online right yeah but uh the nice thing is that you have the source code
42:06
you have the apis now you have all the basic tools in order to make that that real and also again if you are planning to do that yes uh try and reach me and we'll try to to build something something uh together right so uh this was like the main message of this session
42:28
so there are people working with that there are people just creating some ideas and we can contribute to make that uh better but i guess that the only office uh integration uh can be
42:41
recreated using the modern features of the only office uh platform okay okay okay great and um so we have we have about one minute left i think uh for the talk maybe one last question so you uh so by recreating this this only office filter using the the newer apis that you provide
43:03
as part of alfresco do you plan to have a multi-user collaboration here in your demo for example you you showed that you had to have one user that opens the only office document and then the other one and then closes it and then the other one can open it but they cannot really edit in real time is it something that you are planning to build also or
43:25
or it's it needs to be is it something in the road map i would say no yeah yeah so the the behavior can be can
43:43
exactly the the same you have with the collab online so uh both uh both users collaborating online and creating changes but uh i'm presenting this from the perspective of uh of alfresco uh so we are not maintaining the project right okay yeah and help
44:05
to make that uh real okay yeah that's clear okay uh thanks a lot angel and so if there are other questions uh then you can the the the room called tackling the document collab sorry
44:20
the room tackling named open source collaboration tools for alfresco should be now open and so if you have more questions maybe they can be put there um so on your end thanks a lot for for joining the the event uh yet again this year i'm going to have to leave you because we have the the last talk of the of the demo which is starting but maybe we'll see each other
44:45
today uh at first