Stats Alfresco on Database

 Github
GitHub

GitHub release

GitHub license

Travis
Travis Build Status

Description / Caractéristiques

Ce logiciel est conçu pour effectuer des statistiques sur la base de données Alfresco.

Ce logiciel utilise des requêtes pour effectuer des statistiques sur le contenu stocké dans Alfresco. Nous accédons directement à la base de données sql pour des raisons de performance. En conséquence, cet outil peut fonctionner avec un serveur hors ligne ou un dump de sauvegarde sql. Nous n’avons pas besoin d’accéder au disque “content store” ou aux index Solr.

Actuellement, une seule fonctionnalité a été développée : “Alfresco Disk Usage”.

Limitations

Testé pour :

  • Alfresco Enterprise 4.1+ - MySQL & Oracle
  • Alfresco Community 5.0+ - MariaDB & Postgresql

Dépendances

  • Java 8
  • oracle JDBCDriver

Quick start

git clone https://github.com/jeci-sarl/stats-alfresco-on-database.git
cd stats-alfresco-on-database
./gradlew clean build
cp src/test/resources/application-mysql.properties build/libs/application.properties
cd build/libs/
vim application.properties
java -jar jeci-saod-0.?.?.war

Puis allez sur http://localhost:8080 user admin / admin

Alfresco Disk Usage

Cet outil permet d’imprimer la taille des annuaires dans Alfresco.

  • Nous devons d’abord charger les données des bases de données. (Cela peut prendre un certain temps).
  • Ensuite, il faut parcourir les répertoires

Screenshots

Print Childs Nodes size

Problèmes

  • Cette version considère que les fichiers avec vignettes sont des dossiers.
  • Problème de chargement du fichier sql dans l’application war, pour le moment nous avons besoin de fichiers sql lisibles sur le disque

Configuration

  • SAOD utilise une configuration externe du Spring Boot Framework.

  • Utilisez le fichier du répertoire src/test/resources/ comme exemple de configuration

  • Nous utilisons une base HSQLDB locale pour stocker les données. Voir sqldb/local

  • Vous pouvez avec des problèmes avec les jmx sur Jetty. Ajoutez ces paramètres.

endpoints.jmx.unique-names=true
endpoints.jmx.enabled=false
  • Définissez les ports ou les chemins de contexte avec ces paramètres :
server.port=8787
server.contextPath=/saod
  • Définissez les classements par défaut:
saod.sort.default=full
saod.sort.lang=fr

Vous pouvez classez sur les quatre colonnes : “name”, “local”, “aggregate”, “full”, défini par défaut sur “none”. Pour le classement sur la colonne “name”, vous pouvez définir la langue avec saod.sort.lang.

Sécurité

La Securité repose sur Spring Security. Deux rôles sont disponibles:

  • ROLE_ADMIN peux charger les données depuisla base de données Alfresco
  • ROLE_USER peux lire le contenu.

Les utilisateurs par défaut sont:

  • admin / admin avec ROLE_ADMIN
  • user / user avec ROLE_USER

Définissez les login/mot de passe de ces comptes par défaut :

flyway.placeholders.admin.name=admin
flyway.placeholders.admin.password=adm1n
flyway.placeholders.user.name=user
flyway.placeholders.user.password=us3r

Ces paramètres doivent être définis avant le premier démarrage, ou modifiés directement dans la base de données HSQL locale, par exemple en utilisant DBeaver. Veillez à arrêter l’application avant de modifier la base de données locale et à arrêter DBeaver avant de redémarrer l’application.

Performance

Nous avons essayé un script de calcul avec une grosse base de données Alfresco (~500 Go de fichiers de bureau), l’ensemble du calcul a pris 67 secondes sur un ordinateur de bureau.

Dans le futur

  • Ajouter le support pour Postgresql
  • UI “Alfresco Disk Usage” (utilisation du disque Alfresco)
    • Imprimer “nom de l’association” au lieu de NodeRef si disponible
    • Date d’impression de la dernière mise à jour sur alfresco
    • Ajouter une ligne “…” pour aller sur le dossier parent
    • Ajout du nombre de fichiers dans le dossier et l’arborescence
    • Lien dans “Ajouter un nombre de fichiers”.
  • Nouvelle composante
    • Rapport “Alfresco Disk Usage” en PDF
    • Interface utilisateur pour créer et gérer l’utilisateur local
    • Ajout d’interfaces REST pour créer une interface utilisateur javascript
  • Authentification basée sur le compte local de l’utilisateur Alfresco
  • Traduction en français et dans d’autres langues (avec votre aide)
  • Ajout des tests unitaires et des tests de charge

License

Copyright 2016 Jeci - Jérémie Lesage

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

  https://www.apache.org/licenses/LICENSE-2.0

This work may reference software licensed under other open source licenses, please refer to these respective works for more information on license terms.

A propos de JECI

Maintenance Logicielle, Conteneur (Docker, Kubernetes), Alfresco Community, Logiciels Libres
SARL - Capital : 5000€, immatriculée au RCS de Dijon

Nous contacter

+33 9 72 38 21 92 info@jeci.fr

2013-2020 Jeci | Mixed with v4.3.2 | Baked with JBake v2.6.4 | Photo by LinkedIn Sales Navigator on Unsplash | Mentions légales