Modules de base de GeoNode¶
GeoNode est constitué d’un ensemble de modules enfichables base Django (connus sous le nom des applications dans Django) qui fournissent les fonctionnalités de l’application. Ensemble, ils forment les éléments clés d’un site GeoNode. Alors que votre propre cas et la mise en œuvre utilisation ne peuvent pas exiger que vous travaillez directement sur ces modles, il est important de vous familiariser avec leur mise en page, la structure et la fonctionnalité qu’ils fournissent. Vous avez besoin d’importer ces applications dans vos propres applications, et en tant que telle, de vous familiariser avec elles qui est une étape importante pour devenir un développeur de GeoNode compétent.
geonode.layers¶
geonode.layers est le plus grand module clé de GeoNode . Il est utilisé pour représenter les couches de données stockées dans la GeoServer jumelé d’un GeoNode. La classe de modèle de couche hérite champs de la classe ResourceBase qui fournit tous les champs nécessaires pour le catalogue de métadonnées, et ajoute des champs qui correspondent à l’objet et à sa couche correspondante dans GeoServer. Lorsque vos utilisateurs téléchargent une couche par l’intermédiaire de l’interface utilisateur, la couche est importée dans GeoServer et un enregistrement est ajouté à la base de données GeoNode pour représenter cette couche GeoServer au sein de GeoNode lui-même.
La classe de modèle de Couche fournit un ensemble de méthodes d’assistance qui sont utilisées pour effectuer des opérations sur un objet de couche et également de retourner les choses telles que la liste de liens de téléchargement ou les métadonnées pour ce calque. Classes supplémentaires sont utilisées pour modéliser les couches des attributs, des Styles, des Contacts et des liens. Le Django cadre de signaux est utilisé pour appeler des fonctions spécifiques à synchroniser avec GeoServer, avant et après la couche d’enregistrement.
Les points de vue dans l’application de couches sont utilisés pour exécuter des fonctions telles que le téléchargement, le remplacement, d’enlever ou de changer les points de contact pour une couche, et les vues sont également utilisées pour mettre à jour les styles de calque, de télécharger des couches en vrac ou de modifier une autorisations de couches.
Le module de formulaires dans l’application de la couche est utilisé pour exciter les formes d’interface utilisateur nécessaires pour exécuter la logique métier qui fournissent les points de vue.
L’application de couches comprend également un ensemble de modèles qui est jumelé avec des vues et utilisé pour piloter l’interface utilisateur. Un petit ensemble de balises de modèle de couche est également utilisé pour aider à générer la couche Explorer et Rechercher des pages.
Certains modules d’assistance tels que geonode.layers.metadata et geonode.layers.ows sont utilisés par les vues de la couche pour exécuter des fonctions spécifiques et aident à garder le module des vues principales plus concise et lisible.
En outre, les commandes de gestion spécifique de GeoNode font partie de l’application geonode.layers.
Vous devriez passer quelque temps à examiner l’application de couches GitHubs code interface de navigation.
https://github.com/GeoNode/geonode/tree/master/geonode/layers
geonode.maps¶
L’application geonode.maps est utilisée pour regrouper les fonctionnalités de carte GeoNodes multi couche. Les objets de la carte et MapLayer sont utilisés pour modéliser et mettre en œuvre des cartes créées avec l’application GeoExplorer. L’objet de la carte s’étend également de la classe de ressources qui offre la possibilité de gérer un ensemble complet de champs de métadonnées pour une carte.
Les points de vue dans l’application maps exécutent plusieurs des mêmes fonctions que les points de vue dans l’application de couches comme ajout, modification, remplacement ou l’enlèvement d’une carte et fournissent également les points de terminaison pour la configuration de la carte de retour de la base de données qui est utilisée pour initialiser l’application GeoExplorer.
L’application maps inclut également un ensemble de formulaires, personnalisation de l’admin de Django, certaines fonctions de l’utilitaire , un ensemble de modèles et les balises de modèle.
Vous pouvez vous familiariser avec l’application maps sur GitHub.
https://github.com/GeoNode/geonode/tree/master/geonode/layers
geonode.security¶
L’application de geonode.security est utilisée pour fournir des autorisations au niveau de l’objet dans l’application GeoNode Django. Elle est une coutume Django authentification backend et est utilisée pour attribuer des génériques, Autorisations d’accès vers les calques, cartes et autres objets dans le système GeoNode.Les autorisations génériques sont utilisées pour permettre la visualisation anonyme ou authentific de public et / ou l’édition de vos couches de données et cartes. L’utilisateur et les autorisations spécifiques de groupe sont utilisés pour permettre à des utilisateurs ou groupes spécifiques d’accéder et de modifier vos couches.
geonode.search¶
Le module geonode.search fournit la recherche API qui est utilisée pour diriger les pages de recherche GeoNode. Il est configuré pour les couches d’index, des cartes, des documents et des profils, mais il est extensible pour vous permettre de l’utiliser pour vos propres classes de modèle de l’index. Ce module est actuellement basé sur l’ORM de Django et à ce titre a un ensemble limité de fonctionnalités de recherche, mais l’équipe de développement de GeoNode travaille activement sur ce qui permet d’utiliser ce module avec plusieurs moteurs de recherche riche en fonctionnalités.
geonode.catalogue¶
L’app geonode.catalogue fournit un ensemble de clés de métadonnées des fonctions de catalogue au sein de la GeoNode elle-même. GeoNode est configurée pour utiliser une version intégrée de la bibliothèque pycsw pour remplir ces fonctions, mais peut également être configurée pour utiliser n’importe quelle implémentation de CS-W compatible OGC comme GeoNetwork ou Deegree. L’application de métadonnées permet aux utilisateurs d’importer et/ou de modifier des métadonnées pour leurs couches, cartes et documents et elle fournit une interface de recherche conformes de OGC devant servir à se fédérer avec d’autres systèmes.
geonode.geoserver¶
Le module geonode.geoserver est utilisé pour interagir avec GeoServer de code python de GeoNode. Il dépend beaucoup de la bibliothèque de gsconfig qui traite des API de configuration pour le reste de GeoServer. En outre, le module geonode.geoserver.uploader est utilisé pour interagir avec GeoServers importateur API pour le téléchargement et la configuration des couches.
geonode.people¶
Le module geonode.people est utilisé pour modéliser et stocker des informations sur les utilisateurs GeoNode et les gens en dehors du système qui est répertoriés comme Points de Contact pour les couches particulières. C’est le module fondamental pour des fonctionnalités sociales de GeoNode. Il fournit un ensemble de formulaires pour les utilisateurs pour éditer et gérer leurs propres profils ainsi qu’afficher et interagir avec les profils des autres utilisateurs.
geoexplorer¶
Les fonctions du client de SIG de base de GeoNode sont effectuées par GeoExplorer. L’application GeoExplorer est à son tour fondée sur geoext, OpenLayers et ExtJS. elle fournit des fonctionnalités pour construire des cartes, couches coiffer et se connecter à des services distants. GeoExplorer est l’implémentation de référence de la Suite SDK OpenGeo qui est basé sur GXP. GeoNode traite GeoExplorer comme un module externe qui est utilisé hors de la boîte dans GeoNode, mais il est possible pour vous de créer votre propre application SDK de Suite et de l’intégrer avec GeoNode.
Site statique¶
L’extrémité avant de GeoNode est composée d’un ensemble de modèles de base, des modèles spécifiques pour chaque module, les feuilles de style en cascade pour le style de ces pages et un ensemble de modules javascript qui fournissent les fonctionnalités interactives du site.
Mises à jour¶
GeoNode comprend un ensemble de modèles de base qui utilisent le système de succession de template de Django pour fournir un système modulaire permettant de construire les pages web dans l’interface de GeoNode. Ces modèles de base conduise la mise en page globale et des choses comme la page d’accueil. Vous commencerez le processus de personnalisation de votre instance de GeoNode en substituant ces modèles, donc vous devriez vous familiariser avec leur structure et comment ils héritent de l’autre pour conduire les pages.
En outre, la plupart des applications décrites ci-dessus ont leur propre ensemble de modèles qui sont utilisés pour piloter les pages pour chaque module. Vous pouvez également substituer ces modèles pour vos propres besoins et ainsi devriez vous familiariser avec quelques uns de la touche ceux.
CSS¶
Css de GeoNode est basé sur Bootstrap bibliothèque Twitter qui utilise le langage de feuille de style dynamique lessc. GeoNode s’étend de la base style bootstrap et vous êtes en mesure de créer votre propre style de base “bootstrap” pour personnaliser l’apparence de votre propre instance de GeoNode. Des sites comme bootswatch.com fournissent également la cle que vous pouvez simplement déposer dans votre projet pour modifier le style.
Javascript¶
La fonctionnalité interactive des pages de GeoNode est fournie par le framework javascript jQuery et un ensemble de plugins jQuery. Le noyau ensemble de GeoNode modules javascript s’aligne étroitement sur les applications décrites ci-dessus, et il y a aussi quelques morceaux de fonctionnalité fournie sous forme de modules javascript qui est utilisés par toutes les applications. Vous êtes en mesure d’ajouter votre propre code jQuery et/ou des plugins pour exécuter des fonctionnalités interactives dans votre propre application.