J'ai été chargé de l'ajout d'un constructeur de site Web à notre suite d'applications. La plupart de nos clients sont des petits propriétaires non techniques commerciales (magasins de brique et de mortier, maman et magasins pop). On m'a dit que je devrais regarder éditeur Blogger Template essayer de voir si je peux faire quelque chose qui riche en fonctionnalités et facile à utiliser. L'idée étant que nos clients devraient être en mesure d'apporter leur activité en ligne sans rien savoir sur le développement web. P>
Je travaille surtout avec c # et silverlight un jour après jour. Donc, aller avec .net est probablement la meilleure façon pour moi. ASP.NET MVC et look SPARK très attrayant, mais je ne suis pas trop sûr de la façon dont je vais accomplir les choses suivantes p>
1- Comment puis-je construire un système de modèles qui permet à un concepteur de créer des modèles qui utilisent un certain format et sont compatibles avec mon application. Est-ce là tout cadre générique il pour cela? p>
2- Comment puis-je persister les changements que le client fait à son / son site (par exemple le client change la couleur d'arrière-plan et ajoute une liste d'ingrédients sur une page). P>
Edit: Oui, je suis conscient que c'est une grande tâche et je cherche potentiellement à la rédaction d'un CMS épanoui, mais nos clients ont besoin très limité et les fonctionnalités de base pour commencer et je pense que ce serait un processus itératif, avec peut-être plus les développeurs à venir plus tard sur si le produit se révèle être couronnée de succès. Je vais faire part de ces préoccupations à notre gestionnaire bien. P>
Dans un premier temps je comptais simplement leur donner quelques mises en page et leur permettre templated de personnaliser ce qui se passe dans les différentes sections ainsi que les couleurs et les images avec CSS. HAML et
3 Réponses :
Si vous voulez aller avec .NET, je recommanderais de jeter un coup d'œil à Umbraco, qui est un CMS open source très populaire avec une très bonne communauté derrière elle. Il est écrit dans WebForms pour le moment, mais la prochaine version (5) est refaite dans ASP.NET MVC. P>
Il est également disponible sur Microsoft's Galerie de l'application Web donc c'est une brise de Installer. P>
Vous avez effectivement reçu la tâche de rédiger un système de gestion de contenu époustouflé complet. Il s'agit d'une tâche de mammouth qui prendrait probablement un développeur seul de 6 à 24 mois pour construire en fonction de l'expérience (en fonction du temps de développement d'autres CMS 'sur le marché). Par exemple, les développeurs de Umbraco (un CMS ASP.NET Open Source) sont occupés à porter leur CMS sur ASP.NET MVC, les travaux ont commencé vers le début de cette année et ne devraient pas être construits avant le milieu de l'année prochaine et ils «Reforme des Devs les plus talentueux de l'industrie. P>
Je ne doute pas de vos talents, mais à moins que votre patron vous ait donné une très grande échelle de temps à travailler, ou que vous planifiez sur votre site Web Builder étant extrêmement basique avec des fonctionnalités minimales, peut-être construire un constructeur de site Web ou un CMS complet. mordit plus que vous ne pouvez mâcher. p>
Comme d'autres affiches ont recommandé, vous devriez peut-être essayer le CMS existant sur le marché tel que Umbraco si vous êtes un Développeur .NET. P>
Si vous insistez sur la construction de la vôtre, cela nécessitera une planification sérieuse. Regardez des modèles de conception architecturale logiciels tels que DDD (conception axée sur le domaine), des principes solides tels que l'injection de dépendance, le motif de référentiel, l'ignorance de la persistance, les couches de service, etc., etc. MVC est définitivement la bonne façon d'aller. Consultez également Martins Fowler's Book's Book's Modèles d'architecture d'applications d'entreprise ou Dino Esposito's Microsoft .NET: Applications d'architecture de l'entreprise A > ou Eric Evans Design sur le domaine: résolution de la complexité au cœur de Logiciel p>
Cela dépend beaucoup de vos besoins.
Une solution simple serait d'avoir plusieurs modèles de base avec des espaces réservés qui sont remplis de contenu / autres modèles ultérieurement. P>
I.E. Un modèle peut ressembler à ceci: p> alors vous fournissez aux utilisateurs un moyen simple de définir des en-têtes de page et de la page_Contents, c'est-à-dire que le premier peut être une zone de texte, le contenu est Rempli en utilisant quelque chose comme TinyMCE.
Si nécessaire, les clients peuvent utiliser d'autres espaces réservés dans le contenu, mais cela pourrait ne pas être nécessaire. P> Après cela, vous devez simplement ajouter un menu généré automatiquement, créez la logique qui remplace les espaces réservés avec l'utilisateur entré. Contenu (quelque chose sur les lignes de La partie la plus complexe est l'authentification backend and user-authentification. p> Cette solution est simple à mettre en œuvre et n'a pas de réel flexibilité du tout, mais il permet aux clients d'écrire rapidement quelques textes et d'ajouter des images de fantaisie sans avoir à se soucier d'autre chose. p> Pour persister les paramètres de couleur, écrivez-les dans la base de données et créez une nouvelle feuille de style CSS à chaque fois ils sont changés. Pour un autre contenu, utilisez simplement une table de base de données "Contenu" avec les colonnes "Key" et "Valeur" et vous souhaiterez peut-être générer des pages HTML statiques sur chaque changement. P> P> template.Content = template.content.replace ("{Content}", client.Pages ['foo']. GetTemplatecontent ("Page_Content")); CODE>) et peut-être Ajoutez une feuille de style CSS avec des paramètres de couleur et de police fournis par les clients. p>
Parlez-vous de quelque chose comme une mini-wix ou un mini-weebly intégré dans le cadre de votre application; Si oui, vous devez l'épeler.