2016-11-29 5 views
0

Je veux évaluer quelques statistiques de mon installation de Plone et tout d'abord je voulais savoir comment le nombre total de Pages de mon Plone changeait avec le temps. J'ai jeté un coup d'oeil aux addons de statistiques Plone existants. Malheureusement, il n'y en a pas pour Plone 5.0. J'ai quintagroup.analytics en cours d'exécution. Cet addon a des métriques intéressantes, mais ne m'aide pas à voir le développement au fil du temps. J'ai donc commencé à programmer moi-même. Afin d'obtenir le nombre actuel de pages que je prévois d'utiliser une requête de catalogue comme ceci:Statistiques Plone simples au fil du temps

catalog = getToolByName(self.context, 'portal_catalog') 
catalog.searchResults({'portal_type': 'Document'}) 
return len(results) 

Le script python doit être exécuté par une tâche cron toutes les heures et écrire le résultat dans un fichier journal pour moi évalue plus tard.

Ma question est la suivante: y a-t-il des solutions plus simples que je n'ai pas vues? Ma solution fonctionnerait-elle? Voyez-vous des erreurs conceptuelles dans cela? Je me demande s'il n'y a pas plus de questions comme ça sur internet. Est-ce que les gens ne s'intéressent pas tellement aux métriques de leur CMS, ou ai-je ignoré une solution simple et évidente pour cela? Pour l'instant la solution ne fonctionne pas encore, à cause de mon inexpérience avec la structure des addons plones, en particulier en appelant un script python, mais je travaille là-dessus.

+0

Vous pouvez utiliser le creationDate dans le portail_catalogue pour vous donner des données sur des éléments créés au fil du temps - cela ignore évidemment les éléments supprimés. – Danimal

Répondre

2

Si vous allez à « Configuration du site » -> « Dextérité types de contenu », vous pouvez voir le nombre d'objets d'un certain type de contenu existent actuellement dans votre site, par exemple:

http://plonedemo.kitconcept.com/@@dexterity-types

Il n'y a pas Cependant, il est possible de rassembler ou de présenter ces statistiques au fil du temps.

1

Vous pouvez utiliser les données du catalogue lui-même fournit:

portal_catalog.Indexes['portal_type'].uniqueValues(withLengths=True) 

vous donne compte pour tous les types, comme une liste de (name, count) tuples:

(('CaptchaField', 2), ('Collection', 2), ('Document', 676), ... 

Je n'ai pas vérifié si double cela évite de chercher et de faire des résultats, mais c'est plus facile que de faire des recherches dans le catalogue si vous pensez que vous pourriez être intéressé par plus d'un type.

(je n'ai vérifié cela sur 4.3.x/Archétypes, mais je ne vois aucune raison pour laquelle il ne fonctionnerait pas avec 5.x/Dextérité tant qu'il utilise encore portal_catalog.)