SlideShare a Scribd company logo
1 of 151
Download to read offline
What is this
 flower ?




  Search Tutorial
This
represents
 Alfresco !
An ECM Open
Source Solution
Where is the Problem ?
Curious people who want to
  understand Alfresco…
With lots of questions…
    (To express…)
A possible solution…
Simply a presenter with
presentations about Alfresco
with a few answers…
      (To verify)
Let’s do it !
But before starting,
here is a reminder !
The principle is…
Everything is a NODE!




             I am a beautiful
                  node!
The rule is…
 Alfresco provides
services to manage
       Nodes


            Even I have a
             manager…
Now let’s go!
As far as I understand, different
language can be possibly used
        to do searches…
Indeed!
Let’s have a look…
Lucene

  XPath
Lucene first!
Lucene ?
  • Apache Lucene is a high-
    performance, full-featured text
    search engine library written
    entirely in Java.

  • Although Lucene provides the
    ability to create your own queries
    through its API, it also provides a
    rich query language through the
    Query Parser, a lexer which
    interprets a string into a Lucene
    Query using JavaCC.

  • Source: Lucene.org
And with Alfresco…
 How does it work?
Put in a nutshell…
1. Collect
                  Type


                          Aspect
       Properties


                         Key words

             ID
2. Preserve

          ID




               As
                 pec
        Type




                     t
       Proper
             ties



      Key w ords
3. Use

                      es
            P roperti
Key words
             Aspect
To push further…
When a node is created,
the following actions take place
             • Indexing of the whole
               set of the items
               properties



             • Plain text Indexing of
               the related content
When a node is created:
        • The plain text indexing
          takes place if the
          content format is:
          – Office (Open ou Microsoft)
          – XML/HTML
          – PDF
          – Emails
          – Texte
To check it…
Have a look into the data model!




         File : contentModel.xml
What does the
                  « tokenize »
                principle mean?




File : contentModel.xml
Tokenising is to split
 (or not) a word into
  one or many key
       words.
Example



   Here is a PowerPoint presentation
regarding Alfresco and its search feature.
Without
           « Tokenisation »…

       t
  t en
C onHere
       is a PowerPoint presentation
  regarding Alfresco and its search feature.
A copy of the whole
         sentence is made in
              the index
        t
   t en
C onHereis a PowerPoint presentation
   regarding Alfresco and its search feature.



  D EX
IN    Here is a PowerPoint presentation
   regarding Alfresco and its search feature.
The search would
      then be done on the
        whole sentence!
       u
  t en
C onHere
       is a PowerPoint presentation
  regarding Alfresco and its search feature.



  D EX
IN Hereis a PowerPoint presentation
  regarding Alfresco and its search feature.
However if the
          sentence is split into
              key words…
            u
       t en
C on Here is a PowerPoint presentation
  regarding Alfresco and its search feature.
The serach can be
                done on those key
                   words only!
            u
       t en
C on Here is a PowerPoint presentation
  regarding Alfresco and its search feature.



                  D EX
                IN Presentation,PowerPoint,
                       Alfresco, search
So don’t forget to
 check your data
     model !
OK…
Demo time!
A bi t of
theory
Lucene in Alfresco enables
       you to query on
• The NodeRef (ID)
• The Type
                     Of a NODE!
• The Properties
• The Aspects        Do you work for the
                      secret services ?

• The key Words
        (Content)
The
Querie
       s
To query on the Noderef


  ID:quot; <Mon NodeRef> quot;

               What is the interest of
              searching for a node we
           already know the name of???
To query on the Type


 TYPE:quot; <TypeQName> quot;

Hopefully you remember
 what’s the QName…

                         Otherwise click here
To query on a property


@<QNamePropriété>:quot; Value quot;

  Why is it different than the
      other queries??

                                 Why is it not upper
                                       case ?
To query on an Aspect


ASPECT:quot; <AspectQName> quot;


     AAhh! That’s better!
To query on a key word
included in the content of
        the node
           TEXT:<value>

 Okey… Understood!


                     I am getting bored…
Contex
         t
Here is our battle field
Practic
          e
Note
Lucene and Alfresco!
According to the Alfresco version you
    are working with, you can get
   completely different results than
       those presented in here.

This is the magic of the search feature!
How to make a simple
 query with Lucene
        Connect as « admin » to
         Alfresco

        Click on

        Choose the node browser
How to make a simple
 query with Lucene
        Choose the store :
          workspace://SpacesStore



        In the drop down list, choose
          Lucene
Ready ?
I want the
« Folder Test »
I want the
« Folder Test »!!!!!
 @cm:name:’’Folder Test’’
Result
Reminder !
To identify and make a node
unique in a store, we use…




            A
           UUID
The concatenation of the
protocole, the name of the store
   and the UUID of a node is




               A
            NodeRef
In our case




NodeRef    UUID
I want the
« Foder Test » with
      the UUID
      ID:quot;workspace://SpacesStore/
       b7ecc8b1-5edb-11dd-
       afdd-79a008cbb404quot;
What about a search with
  several criterias ?
You can add Operators !
Operators
+
To add a validated criteria

-
To add a non validated criteria

AND
To add a criteria

OR
To add a choice between several
  criterias

NOT
To exclude a criteria
I want all the spaces with
   the name « space »
 TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot;



                     TYPE:quot;cm:folderquot; +@cm:name:quot;Spacequot;




               +TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot;
Result
Let’s add a category
     to a space

 Contex
       t
I want all folders with the name
« space » which has a category
    TYPE:quot;cm:folderquot;
           AND @cm:name:quot;Spacequot;
                   AND ASPECT:quot;cm:generalclassifiablequot;
I want all spaces with the name
       « space » which
  DOES NOT have a category
   TYPE:quot;cm:folderquot;
          AND @cm:name:quot;Spacequot;
              AND NOT ASPECT:quot;cm:generalclassifiablequot;




                         TYPE:quot;cm:folderquot;
                         +@cm:name:quot;Spacequot;
                         -ASPECT:quot;cm:generalclassifiablequot;
Result
Let’s have a look into the
      property types
Note

      Work Zone!


     This section is
experimental and results
 vary a lot according to
        the tests!
To search for text properties, you
   can use specific operators
Special Operators
    ?
    Can replace one character

    *
    Can replace one or many
      characters
I want all spaces with the name
     starting with « spa »

   TYPE:quot;cm:folderquot;
          AND @cm:name:quot;Spa*quot;




                        TYPE:quot;cm:folderquot;
                        +@cm:name:quot;Spa*quot;
I want all spaces with the name
      ending with « spa »

   TYPE:quot;cm:folderquot;
          AND @cm:name:quot;*acequot;




                        TYPE:quot;cm:folderquot;
                        +@cm:name:quot;*acequot;
Note

  End of work zone!


  This section was
   experimental!
For more details…
 Lucene WebSite
• http://lucene.apache.org/
• http://lucene.apache.org/java/docs/queryparsersyntax.html

Alfresco Wiki
• http://wiki.alfresco.com/wiki/Search#Lucene
• http://wiki.alfresco.com/wiki/Lucene
• http://wiki.alfresco.com/wiki/Lucene_Extensions_and_Issues
Now XPath!
XPath ?
 • XPath is a language for
   addressing parts of an XML
   document, designed to be
   used by both XSLT and
   XPointer.




 • Source w3c.org
But we are dealing with nodes…
        Not with xml…
Yes indeed but…
A Principle…
              A Node can
              be identified
               as an xml
What a face I have
                     Mirror
     now…

                     XML
The proof in Alfresco…
ACP



WebApp
ACP


 Explorer
So XPath enables us to browse
         the nodes…
Indeed !
Demo...
A bit
of theo
         ry
XPath in Alfresco enables to
           query on…
• The Type
• The Properties
                     Of a Node!
• The Aspects
• The Associations      Why me…
Axis
In the Node family, I
want to find myself !




         self
Then my
 Father!




           parent
Then my
children!




        Child
Then my older
        brothers




preceding-sibling
Then my younger
      sisters




following-sibling
Now let’s explore my
   family further
I want to know my
  entire lineage!




             descendant
I want to know my
    ancestors




              ancestor
I want to know all the
oldest nodes in my family




                  preceding
I want all the youngest
         nodes




                 following
Isn’t my family
  beautiful?
Unfortunately, all my
     family are not visible in
           Alfresco…




    following         following-sibling

preceding-sibling         preceding
The qu
       e   ries
To query on an axis


      Axe::*

         I want to know all the nodes
                 on this axis!
To query on a property


Axe::*[@<QName>:’<Value>’]


              It remind me of Lucene…
To query on an aspect


Axe::*[hasAspect(’<QNameAspect>’)]


                  The aspect doesn’t make
                         the node!
To query on a type


Axe::*[subtypeOf(’<QNameType>’)]


                 Beware! This means the
                 current and child types!!!
To query on the entire set
of properties and content…

  Axe::*[contains(’<Value>’)]


                Beware! This means the
                current and child types!!!
Contex
         t
Here is our battle field
Practic
          e
How to make a simple
 query with Lucene
        Connect as « admin » to
         Alfresco

        Click on

        Choose the node browser
How to make a simple
 query with Lucene
        Choose the store :
          workspace://SpacesStore



        In the drop down list, choose
          Lucene
Why don’t we use XPath ??
It’s exactly the same!
     Except that…
XPath :
                 From the root of
                    the store
SelectNodes :
Related to the
current node
We want to start from a
   specific folder!
Ready ?
I want the current node

             self::*
Result
I want the children of the
      current node

            descendant::*
I want the parent of the
     current node

             parent::*
I want the child which has a
description « Space 1.1 Description »

    descendant::*[@cm:description
       ='Space 1.1 Description']
Also note that operators are also
      available in XPath…
I want the child which has a description
« Space 1.1 Description » and that is of type
                    folder

    descendant::*[@cm:description
     ='Space 1.1 Description' and
       subtypeOf('cm:folder')]
I want the child which has its aspect related to
        categories and is of type folder

      descendant::*[hasAspect('cm:genera
              lclassifiable') and
            subtypeOf('cm:folder')]
To go further…
• Wikipedia [FR]

• W3Schools[ENG]

• Spécifications W3C : Xpath 1.0[ENG]
• Spécifications W3C : XPath 2.0[ENG]

• Developpez.com (A voir!)
I now have many nodes! But where
 is Wally/Waldo…? Well actually…
     where is the good node?
If you are looking for a node,
      use the services…
First, Think about
Alfreso Service Registry !
And then call …
                                                                 AttributeService
MultilangualContentService              AuditService
                                                      ScriptService
                       ActionService
        AuthorityService         AuthenticationService    SearchService
                                                                          RuleService
 NodeService                             TemplateService
                    AVMService
                                           CopyService
 LockService          CategoryService

        CheckOutCheckInService
                                    FileFolderService
                ContentService
  MimeTypeService
                                  EditionService
         DictionnaryService

    WorkflowService      ImporterService
            ExporterService
   VersionService                TransactionService
And then call …
                                                                 AttributeService
MultilangualContentService              AuditService
                                                      ScriptService
                       ActionService
        AuthorityService         AuthenticationService    SearchService
                                                                          RuleService
 NodeService                             TemplateService
                    AVMService
                                           CopyService
 LockService          CategoryService

        CheckOutCheckInService
                                    FileFolderService
                ContentService
  MimeTypeService
                                  EditionService
         DictionnaryService

    WorkflowService      ImporterService
            ExporterService
   VersionService                TransactionService
Or…
                                                                 AttributeService
MultilangualContentService              AuditService
                                                      ScriptService
                       ActionService
        AuthorityService         AuthenticationService    SearchService
                                                                          RuleService
 NodeService                             TemplateService
                    AVMService
                                           CopyService
 LockService          CategoryService

        CheckOutCheckInService
                                    FileFolderService
                ContentService
  MimeTypeService
                                  EditionService
         DictionnaryService

    WorkflowService      ImporterService
            ExporterService
   VersionService                TransactionService
Voilà!
Enough for today!
Now your turn!
Questions ???
Another time…
Next…
What if I want to share my
          nodes ?
You would have to
use the protocoles…
To discover…
To go further on…
And to reach our
   goals…
Choose ECM
Open Source
Alfresco in few
    points…
      By JM.PASCAL

    www.opensourceecm.fr
              &
   www.open-source-ecm.com

More Related Content

What's hot

Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Toni de la Fuente
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco Software
 
Microsoft Windows Server 2022 Overview
Microsoft Windows Server 2022 OverviewMicrosoft Windows Server 2022 Overview
Microsoft Windows Server 2022 OverviewDavid J Rosenthal
 
Understanding docker networking
Understanding docker networkingUnderstanding docker networking
Understanding docker networkingLorenzo Fontana
 
Terraform 0.12 + Terragrunt
Terraform 0.12 + TerragruntTerraform 0.12 + Terragrunt
Terraform 0.12 + TerragruntAnton Babenko
 
Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm
 
Network Protocol Testing Using Robot Framework
Network Protocol Testing Using Robot FrameworkNetwork Protocol Testing Using Robot Framework
Network Protocol Testing Using Robot FrameworkPayal Jain
 
Important work-arounds for making ASS multi-lingual
Important work-arounds for making ASS multi-lingualImportant work-arounds for making ASS multi-lingual
Important work-arounds for making ASS multi-lingualAxel Faust
 
Using and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationUsing and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationDenys Vuika
 
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostChristoph Adler
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIsJ V
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesSreenivas Makam
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in DockerDocker, Inc.
 

What's hot (20)

Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
Zabbix
ZabbixZabbix
Zabbix
 
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...Alfresco In An Hour - Document Management, Web Content Management, and Collab...
Alfresco In An Hour - Document Management, Web Content Management, and Collab...
 
Microsoft Windows Server 2022 Overview
Microsoft Windows Server 2022 OverviewMicrosoft Windows Server 2022 Overview
Microsoft Windows Server 2022 Overview
 
Ibm aix
Ibm aixIbm aix
Ibm aix
 
Understanding docker networking
Understanding docker networkingUnderstanding docker networking
Understanding docker networking
 
Terraform 0.12 + Terragrunt
Terraform 0.12 + TerragruntTerraform 0.12 + Terragrunt
Terraform 0.12 + Terragrunt
 
Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11 Alphorm.com Formation VMware Workstation 11
Alphorm.com Formation VMware Workstation 11
 
Network Protocol Testing Using Robot Framework
Network Protocol Testing Using Robot FrameworkNetwork Protocol Testing Using Robot Framework
Network Protocol Testing Using Robot Framework
 
Docker, LinuX Container
Docker, LinuX ContainerDocker, LinuX Container
Docker, LinuX Container
 
Important work-arounds for making ASS multi-lingual
Important work-arounds for making ASS multi-lingualImportant work-arounds for making ASS multi-lingual
Important work-arounds for making ASS multi-lingual
 
Using and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationUsing and extending Alfresco Content Application
Using and extending Alfresco Content Application
 
RNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance BoostRNUG - HCL Notes V11 Performance Boost
RNUG - HCL Notes V11 Performance Boost
 
What is Docker
What is Docker What is Docker
What is Docker
 
TP GLPI
TP GLPITP GLPI
TP GLPI
 
IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z
 
Exciting New Alfresco REST APIs
Exciting New Alfresco REST APIsExciting New Alfresco REST APIs
Exciting New Alfresco REST APIs
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Modernizacion Oracle Forms
Modernizacion Oracle FormsModernizacion Oracle Forms
Modernizacion Oracle Forms
 

Viewers also liked

Alfresco in few points - Node Tutorial
Alfresco in few points - Node TutorialAlfresco in few points - Node Tutorial
Alfresco in few points - Node TutorialPASCAL Jean Marie
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for DevelopersJeff Potts
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST APIJ V
 
Alfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService TutorialAlfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService TutorialPASCAL Jean Marie
 
JM.PASCAL - This is my way...
JM.PASCAL - This is my way...JM.PASCAL - This is my way...
JM.PASCAL - This is my way...PASCAL Jean Marie
 
Alfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a NodeAlfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a NodePASCAL Jean Marie
 
Alfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 TalkAlfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 TalkPASCAL Jean Marie
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with AlfrescoWildan Maulana
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions Alfresco Software
 
Alfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 EnterpriseAlfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 EnterprisePASCAL Jean Marie
 
Alfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services TutorialAlfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services TutorialPASCAL Jean Marie
 
Alfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node TutorialAlfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node TutorialPASCAL Jean Marie
 
DRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & UtilisationDRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & UtilisationPASCAL Jean Marie
 
An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)PASCAL Jean Marie
 
Alfresco's Guide to Anger Management
Alfresco's Guide to Anger ManagementAlfresco's Guide to Anger Management
Alfresco's Guide to Anger ManagementAlfresco Software
 

Viewers also liked (20)

Alfresco in few points - Node Tutorial
Alfresco in few points - Node TutorialAlfresco in few points - Node Tutorial
Alfresco in few points - Node Tutorial
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for Developers
 
Alfresco 5.2 REST API
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST API
 
Alfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService TutorialAlfresco in few points - NodeService Tutorial
Alfresco in few points - NodeService Tutorial
 
JM.PASCAL - This is my way...
JM.PASCAL - This is my way...JM.PASCAL - This is my way...
JM.PASCAL - This is my way...
 
Alfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a NodeAlfresco 3.0 Enteprise : View by a Node
Alfresco 3.0 Enteprise : View by a Node
 
Alfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 TalkAlfresco Android - Summit 2013 Talk
Alfresco Android - Summit 2013 Talk
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Spring In Alfresco Ecm
Spring In Alfresco EcmSpring In Alfresco Ecm
Spring In Alfresco Ecm
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
Alfresco 5.0 features
Alfresco 5.0 featuresAlfresco 5.0 features
Alfresco 5.0 features
 
Alfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 EnterpriseAlfresco - Présentation Alfresco 3 Enterprise
Alfresco - Présentation Alfresco 3 Enterprise
 
Alfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services TutorialAlfresco en quelques points : Services Tutorial
Alfresco en quelques points : Services Tutorial
 
Alfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node TutorialAlfresco en quelques points : Node Tutorial
Alfresco en quelques points : Node Tutorial
 
DRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & UtilisationDRAFT - Alfresco - Acces & Utilisation
DRAFT - Alfresco - Acces & Utilisation
 
ECM - Définition Simple
ECM - Définition SimpleECM - Définition Simple
ECM - Définition Simple
 
An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)An Alfresco Fan to John Newton (2)
An Alfresco Fan to John Newton (2)
 
Alfresco's Guide to Anger Management
Alfresco's Guide to Anger ManagementAlfresco's Guide to Anger Management
Alfresco's Guide to Anger Management
 
PFE Scan (2)
PFE Scan (2)PFE Scan (2)
PFE Scan (2)
 

Similar to Alfresco in few points - Search Tutorial

Scripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptScripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptMatt Patterson
 
Developing OpenResty Framework
Developing OpenResty FrameworkDeveloping OpenResty Framework
Developing OpenResty FrameworkOpenRestyCon
 
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...phpbarcelona
 
Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client DevelopmentTamir Khason
 
HFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warrantyHFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warrantyCharles Beyer
 
Weird Plsql
Weird PlsqlWeird Plsql
Weird Plsqlwebanddb
 
Silme & compare-locales
Silme & compare-localesSilme & compare-locales
Silme & compare-localesAdrianer
 
How Xslate Works
How Xslate WorksHow Xslate Works
How Xslate WorksGoro Fuji
 
Beyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noahlusis
 
BNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBookNet Canada
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholisticoscon2007
 

Similar to Alfresco in few points - Search Tutorial (20)

Scripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without ApplescriptScripting OS X with Applescript, without Applescript
Scripting OS X with Applescript, without Applescript
 
Developing OpenResty Framework
Developing OpenResty FrameworkDeveloping OpenResty Framework
Developing OpenResty Framework
 
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
Text indexing and search libraries for PHP - Zoë Slattery - Barcelona PHP Con...
 
Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client Development
 
HFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warrantyHFM, Workspace, and FDM – Voiding your warranty
HFM, Workspace, and FDM – Voiding your warranty
 
Api Design
Api DesignApi Design
Api Design
 
Weird Plsql
Weird PlsqlWeird Plsql
Weird Plsql
 
Lucene And Solr Intro
Lucene And Solr IntroLucene And Solr Intro
Lucene And Solr Intro
 
Sphinx on Rails
Sphinx on RailsSphinx on Rails
Sphinx on Rails
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific Languages
 
Integration Testing in Python
Integration Testing in PythonIntegration Testing in Python
Integration Testing in Python
 
Goodparts
GoodpartsGoodparts
Goodparts
 
Simple perl scripts
Simple perl scriptsSimple perl scripts
Simple perl scripts
 
Silme & compare-locales
Silme & compare-localesSilme & compare-locales
Silme & compare-locales
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
How Xslate Works
How Xslate WorksHow Xslate Works
How Xslate Works
 
Beyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with NoahBeyond the Node: Arkestration with Noah
Beyond the Node: Arkestration with Noah
 
BNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demoBNC Tech Forum 09: Lexcycle Stanza demo
BNC Tech Forum 09: Lexcycle Stanza demo
 
Os Keysholistic
Os KeysholisticOs Keysholistic
Os Keysholistic
 
DSLs in JavaScript
DSLs in JavaScriptDSLs in JavaScript
DSLs in JavaScript
 

More from PASCAL Jean Marie

DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
An Alfresco Fan to John Newton
An Alfresco Fan to John NewtonAn Alfresco Fan to John Newton
An Alfresco Fan to John NewtonPASCAL Jean Marie
 
Smith & CMIS : a similar story
Smith & CMIS : a similar storySmith & CMIS : a similar story
Smith & CMIS : a similar storyPASCAL Jean Marie
 
Smith & Cmis : Une histoire commune
Smith & Cmis : Une histoire communeSmith & Cmis : Une histoire commune
Smith & Cmis : Une histoire communePASCAL Jean Marie
 
Alfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialAlfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialPASCAL Jean Marie
 
Nuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationNuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationPASCAL Jean Marie
 
Nuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration ContinueNuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration ContinuePASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipsePASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipsePASCAL Jean Marie
 
Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation PASCAL Jean Marie
 
Nuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec EclipseNuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec EclipsePASCAL Jean Marie
 
Nuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationNuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationPASCAL Jean Marie
 
Nuxeo5 - Installation Simple
Nuxeo5 - Installation SimpleNuxeo5 - Installation Simple
Nuxeo5 - Installation SimplePASCAL Jean Marie
 
Nuxeo5 - Installation Code Source
Nuxeo5 - Installation Code SourceNuxeo5 - Installation Code Source
Nuxeo5 - Installation Code SourcePASCAL Jean Marie
 

More from PASCAL Jean Marie (18)

DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
ECM - Simple Definition ENG
ECM - Simple Definition ENGECM - Simple Definition ENG
ECM - Simple Definition ENG
 
An Alfresco Fan to John Newton
An Alfresco Fan to John NewtonAn Alfresco Fan to John Newton
An Alfresco Fan to John Newton
 
Smith & CMIS : a similar story
Smith & CMIS : a similar storySmith & CMIS : a similar story
Smith & CMIS : a similar story
 
Smith & Cmis : Une histoire commune
Smith & Cmis : Une histoire communeSmith & Cmis : Une histoire commune
Smith & Cmis : Une histoire commune
 
Alfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche TutorialAlfresco en quelques points - Recherche Tutorial
Alfresco en quelques points - Recherche Tutorial
 
Open Source Ecm
Open Source Ecm Open Source Ecm
Open Source Ecm
 
Ecm Open Source
Ecm Open SourceEcm Open Source
Ecm Open Source
 
Nuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationNuxeo5 - Continuous Integration
Nuxeo5 - Continuous Integration
 
Nuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration ContinueNuxeo5 - Installation Integration Continue
Nuxeo5 - Installation Integration Continue
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with Eclipse
 
Nuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with EclipseNuxeo 5 Installation with Eclipse
Nuxeo 5 Installation with Eclipse
 
Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation Nuxeo5 - Code Source Installation
Nuxeo5 - Code Source Installation
 
Nuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec EclipseNuxeo5 - Installation avec Eclipse
Nuxeo5 - Installation avec Eclipse
 
Nuxeo 5 - Basic Installation
Nuxeo 5 - Basic InstallationNuxeo 5 - Basic Installation
Nuxeo 5 - Basic Installation
 
Nuxeo5 - Installation Simple
Nuxeo5 - Installation SimpleNuxeo5 - Installation Simple
Nuxeo5 - Installation Simple
 
Nuxeo5 - Installation Code Source
Nuxeo5 - Installation Code SourceNuxeo5 - Installation Code Source
Nuxeo5 - Installation Code Source
 

Recently uploaded

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfalexjohnson7307
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024Stephen Perrenod
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 

Recently uploaded (20)

State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 

Alfresco in few points - Search Tutorial

  • 1. What is this flower ? Search Tutorial
  • 4. Where is the Problem ?
  • 5. Curious people who want to understand Alfresco…
  • 6. With lots of questions… (To express…)
  • 8. Simply a presenter with presentations about Alfresco
  • 9. with a few answers… (To verify)
  • 11. But before starting, here is a reminder !
  • 12. The principle is… Everything is a NODE! I am a beautiful node!
  • 13. The rule is… Alfresco provides services to manage Nodes Even I have a manager…
  • 15. As far as I understand, different language can be possibly used to do searches…
  • 19. Lucene ? • Apache Lucene is a high- performance, full-featured text search engine library written entirely in Java. • Although Lucene provides the ability to create your own queries through its API, it also provides a rich query language through the Query Parser, a lexer which interprets a string into a Lucene Query using JavaCC. • Source: Lucene.org
  • 20. And with Alfresco… How does it work?
  • 21. Put in a nutshell…
  • 22. 1. Collect Type Aspect Properties Key words ID
  • 23. 2. Preserve ID As pec Type t Proper ties Key w ords
  • 24. 3. Use es P roperti Key words Aspect
  • 26. When a node is created, the following actions take place • Indexing of the whole set of the items properties • Plain text Indexing of the related content
  • 27. When a node is created: • The plain text indexing takes place if the content format is: – Office (Open ou Microsoft) – XML/HTML – PDF – Emails – Texte
  • 29. Have a look into the data model! File : contentModel.xml
  • 30. What does the « tokenize » principle mean? File : contentModel.xml
  • 31. Tokenising is to split (or not) a word into one or many key words.
  • 32. Example Here is a PowerPoint presentation regarding Alfresco and its search feature.
  • 33. Without « Tokenisation »… t t en C onHere is a PowerPoint presentation regarding Alfresco and its search feature.
  • 34. A copy of the whole sentence is made in the index t t en C onHereis a PowerPoint presentation regarding Alfresco and its search feature. D EX IN Here is a PowerPoint presentation regarding Alfresco and its search feature.
  • 35. The search would then be done on the whole sentence! u t en C onHere is a PowerPoint presentation regarding Alfresco and its search feature. D EX IN Hereis a PowerPoint presentation regarding Alfresco and its search feature.
  • 36. However if the sentence is split into key words… u t en C on Here is a PowerPoint presentation regarding Alfresco and its search feature.
  • 37. The serach can be done on those key words only! u t en C on Here is a PowerPoint presentation regarding Alfresco and its search feature. D EX IN Presentation,PowerPoint, Alfresco, search
  • 38. So don’t forget to check your data model !
  • 39.
  • 41. A bi t of theory
  • 42. Lucene in Alfresco enables you to query on • The NodeRef (ID) • The Type Of a NODE! • The Properties • The Aspects Do you work for the secret services ? • The key Words (Content)
  • 44. To query on the Noderef ID:quot; <Mon NodeRef> quot; What is the interest of searching for a node we already know the name of???
  • 45. To query on the Type TYPE:quot; <TypeQName> quot; Hopefully you remember what’s the QName… Otherwise click here
  • 46. To query on a property @<QNamePropriété>:quot; Value quot; Why is it different than the other queries?? Why is it not upper case ?
  • 47. To query on an Aspect ASPECT:quot; <AspectQName> quot; AAhh! That’s better!
  • 48. To query on a key word included in the content of the node TEXT:<value> Okey… Understood! I am getting bored…
  • 49. Contex t
  • 50. Here is our battle field
  • 51. Practic e
  • 52. Note Lucene and Alfresco! According to the Alfresco version you are working with, you can get completely different results than those presented in here. This is the magic of the search feature!
  • 53. How to make a simple query with Lucene Connect as « admin » to Alfresco Click on Choose the node browser
  • 54. How to make a simple query with Lucene Choose the store : workspace://SpacesStore In the drop down list, choose Lucene
  • 57.
  • 58. I want the « Folder Test »!!!!! @cm:name:’’Folder Test’’
  • 61. To identify and make a node unique in a store, we use… A UUID
  • 62. The concatenation of the protocole, the name of the store and the UUID of a node is A NodeRef
  • 64. I want the « Foder Test » with the UUID ID:quot;workspace://SpacesStore/ b7ecc8b1-5edb-11dd- afdd-79a008cbb404quot;
  • 65.
  • 66. What about a search with several criterias ?
  • 67. You can add Operators !
  • 68. Operators + To add a validated criteria - To add a non validated criteria AND To add a criteria OR To add a choice between several criterias NOT To exclude a criteria
  • 69. I want all the spaces with the name « space » TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot; TYPE:quot;cm:folderquot; +@cm:name:quot;Spacequot; +TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot;
  • 71. Let’s add a category to a space Contex t
  • 72. I want all folders with the name « space » which has a category TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot; AND ASPECT:quot;cm:generalclassifiablequot;
  • 73. I want all spaces with the name « space » which DOES NOT have a category TYPE:quot;cm:folderquot; AND @cm:name:quot;Spacequot; AND NOT ASPECT:quot;cm:generalclassifiablequot; TYPE:quot;cm:folderquot; +@cm:name:quot;Spacequot; -ASPECT:quot;cm:generalclassifiablequot;
  • 75. Let’s have a look into the property types
  • 76. Note Work Zone! This section is experimental and results vary a lot according to the tests!
  • 77. To search for text properties, you can use specific operators
  • 78. Special Operators ? Can replace one character * Can replace one or many characters
  • 79. I want all spaces with the name starting with « spa » TYPE:quot;cm:folderquot; AND @cm:name:quot;Spa*quot; TYPE:quot;cm:folderquot; +@cm:name:quot;Spa*quot;
  • 80. I want all spaces with the name ending with « spa » TYPE:quot;cm:folderquot; AND @cm:name:quot;*acequot; TYPE:quot;cm:folderquot; +@cm:name:quot;*acequot;
  • 81. Note End of work zone! This section was experimental!
  • 82. For more details… Lucene WebSite • http://lucene.apache.org/ • http://lucene.apache.org/java/docs/queryparsersyntax.html Alfresco Wiki • http://wiki.alfresco.com/wiki/Search#Lucene • http://wiki.alfresco.com/wiki/Lucene • http://wiki.alfresco.com/wiki/Lucene_Extensions_and_Issues
  • 84. XPath ? • XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer. • Source w3c.org
  • 85. But we are dealing with nodes… Not with xml…
  • 87. A Principle… A Node can be identified as an xml What a face I have Mirror now… XML
  • 88. The proof in Alfresco…
  • 91. So XPath enables us to browse the nodes…
  • 94. XPath in Alfresco enables to query on… • The Type • The Properties Of a Node! • The Aspects • The Associations Why me…
  • 95. Axis
  • 96. In the Node family, I want to find myself ! self
  • 97. Then my Father! parent
  • 99. Then my older brothers preceding-sibling
  • 100. Then my younger sisters following-sibling
  • 101. Now let’s explore my family further
  • 102. I want to know my entire lineage! descendant
  • 103. I want to know my ancestors ancestor
  • 104. I want to know all the oldest nodes in my family preceding
  • 105. I want all the youngest nodes following
  • 106. Isn’t my family beautiful?
  • 107. Unfortunately, all my family are not visible in Alfresco… following following-sibling preceding-sibling preceding
  • 108. The qu e ries
  • 109. To query on an axis Axe::* I want to know all the nodes on this axis!
  • 110. To query on a property Axe::*[@<QName>:’<Value>’] It remind me of Lucene…
  • 111. To query on an aspect Axe::*[hasAspect(’<QNameAspect>’)] The aspect doesn’t make the node!
  • 112. To query on a type Axe::*[subtypeOf(’<QNameType>’)] Beware! This means the current and child types!!!
  • 113. To query on the entire set of properties and content… Axe::*[contains(’<Value>’)] Beware! This means the current and child types!!!
  • 114. Contex t
  • 115. Here is our battle field
  • 116. Practic e
  • 117. How to make a simple query with Lucene Connect as « admin » to Alfresco Click on Choose the node browser
  • 118. How to make a simple query with Lucene Choose the store : workspace://SpacesStore In the drop down list, choose Lucene
  • 119. Why don’t we use XPath ??
  • 120. It’s exactly the same! Except that…
  • 121. XPath : From the root of the store SelectNodes : Related to the current node
  • 122. We want to start from a specific folder!
  • 124. I want the current node self::*
  • 125. Result
  • 126. I want the children of the current node descendant::*
  • 127. I want the parent of the current node parent::*
  • 128. I want the child which has a description « Space 1.1 Description » descendant::*[@cm:description ='Space 1.1 Description']
  • 129. Also note that operators are also available in XPath…
  • 130. I want the child which has a description « Space 1.1 Description » and that is of type folder descendant::*[@cm:description ='Space 1.1 Description' and subtypeOf('cm:folder')]
  • 131. I want the child which has its aspect related to categories and is of type folder descendant::*[hasAspect('cm:genera lclassifiable') and subtypeOf('cm:folder')]
  • 132. To go further… • Wikipedia [FR] • W3Schools[ENG] • Spécifications W3C : Xpath 1.0[ENG] • Spécifications W3C : XPath 2.0[ENG] • Developpez.com (A voir!)
  • 133. I now have many nodes! But where is Wally/Waldo…? Well actually… where is the good node?
  • 134. If you are looking for a node, use the services…
  • 135. First, Think about Alfreso Service Registry !
  • 136. And then call … AttributeService MultilangualContentService AuditService ScriptService ActionService AuthorityService AuthenticationService SearchService RuleService NodeService TemplateService AVMService CopyService LockService CategoryService CheckOutCheckInService FileFolderService ContentService MimeTypeService EditionService DictionnaryService WorkflowService ImporterService ExporterService VersionService TransactionService
  • 137. And then call … AttributeService MultilangualContentService AuditService ScriptService ActionService AuthorityService AuthenticationService SearchService RuleService NodeService TemplateService AVMService CopyService LockService CategoryService CheckOutCheckInService FileFolderService ContentService MimeTypeService EditionService DictionnaryService WorkflowService ImporterService ExporterService VersionService TransactionService
  • 138. Or… AttributeService MultilangualContentService AuditService ScriptService ActionService AuthorityService AuthenticationService SearchService RuleService NodeService TemplateService AVMService CopyService LockService CategoryService CheckOutCheckInService FileFolderService ContentService MimeTypeService EditionService DictionnaryService WorkflowService ImporterService ExporterService VersionService TransactionService
  • 139.
  • 145. What if I want to share my nodes ?
  • 146. You would have to use the protocoles…
  • 148. To go further on…
  • 149. And to reach our goals…
  • 151. Alfresco in few points… By JM.PASCAL www.opensourceecm.fr & www.open-source-ecm.com