Question

Je sais ASP.NET C # très bien. Je fais beaucoup de choses comme les enquêtes et les applications Web personnalisées.

Je vais avoir beaucoup de mal à envelopper ma tête autour de Drupal et de déterminer comment faire les choses programmatiques « spéciales », comme la recherche d'une liste de clients, ou la création d'une application Web.

1 - J'ai lu des livres et des API, mais je drupal encore avoir beaucoup de difficultés à démarrer avec quoi que ce soit. Où le code personnalisé sont en ce qui concerne les pages, les modules, extraits ...? Comment puis-je répliquer forme X que je l'ai fait dans ASP.NET dans une nouvelle page dans Drupal? Etc. Il est super dur pour envelopper ma tête autour de Drupal, il semble si grand et facile et extensible mais aussi comme il est difficile pour moi de code. Que pouvez-vous recommander pour un programmeur d'application ASP.NET pour apprendre à travailler avec / dans Drupal?

2 - Parfois, nous écrivons des applications ASP.NET complètes pour les clients, et ces applications ne sont pas indended pour les clients d'aller les modifier. Par exemple, nous aurons notre site Web entier à l'aide de Drupal, mais à l'intérieur de ce site, nous aurons une place pour les utilisateurs d'utiliser une recherche spéciale pour les informations de base de données. Nous ne voulons pas de simples éditeurs de sites Web et les fournisseurs de contenu qui tentent de modifier cette page spécialement codée (s). Comment puis-je gérer les clients ne voulant pas modifier quoi que ce soit dans une application Drupal? Est-il géré via la page autorisations / utilisateur? La meilleure chose à développer et héberger une application complètement à l'extérieur de drupal? L'application de son propre drupal instance à l'intérieur d'un drupal site drupal (de drupals imbriquées?)?

3 - Enfin, comment puis-je gérer les bases de données? Je comprends Drupal et PHP sont configurés pour fonctionner au mieux avec MySQL. Nous avons des bases de données MS SQL qui sont utilisés par de multiples applications et qui voudraient les utiliser pour les nouvelles applications que nous commençons à utiliser Drupal. Par exemple, nous avons un répertoire personnel qui alimente l'application de rapports ASP.NET, la demande d'inscription du personnel ASP.NET, et que vous souhaitez faire une nouvelle application PHP Drupal qui utilise aussi (et peut-être encarts / mises à jour plus d'informations dans) cette base de données. Quel est le meilleur / plus simple pour gérer MS SQL bases de données et / ou des bases de données MySQL utilisé et mis à jour par de multiples applications Drupal et ASP.NET? Serait-il plus facile d'avoir toutes les applications utilisent MS SQL bases de données, ou peut-être de répliquer les bases de données sur MySQL pour les applications Drupal / PHP et d'une certaine manière de synchroniser les deux bases de données?

J'espère que c'est bien si je pose des questions multiples liées à un seul poste.

Était-ce utile?

La solution

D'abord, je pense que ce qui est important de comprendre les limites de Drupal, il y a des choses qu'il n'est pas vraiment fait pour. Il est en quelque sorte d'un cadre d'application Web, mais si vous faites beaucoup de travail personnalisé avec votre propre datamodelling personnalisé et d'autres choses, Drupal pourrait ne pas être la solution la plus flexible ou facilement implémentable à vos types de problèmes. Un cadre plus général comme par exemple Zend Framework est peut-être plus adapté.

Une leçon importante dans l'apprentissage de Drupal est: ne pas pirater de base ou d'autres modules. Cela fera de base de mise à niveau ou des modules beaucoup de temps. Au lieu de cela « faire comme Drupal » et passer outre à l'aide de crochets. En thématisation vous pouvez également remplacer avec des crochets, mais aussi d'autres façons. Redéfinition est puissant pour comprendre ce concept bien.

  1. Je dirais que, choisir une façon d'apprendre qui est votre style, screencasts, IRC, hacking, Meetups utilisateur IRL, des livres, des articles ou toute combinaison et chercher du matériel sur Drupal. Il suffit de commencer bidouiller et obtenir un sentiment et la compréhension de la façon dont fonctionne Drupal. Comprendre le jargon est une partie importante, donc ce sont: des noeuds, des blocs, des régions, des crochets, des modules, des thèmes
  2. .
  3. Drupal dispose d'un système d'autorisation très flexible, et il est probablement le meilleur choix pour l'utiliser au lieu de faire votre propre. Vous pouvez écrire vos propres modules qui ajoutent ou modifient le comportement de Drupal. Donc, si vous voulez écrire une nouvelle application qui fonctionne avec Drupal, vous pouvez écrire un module effectuant la fonctionnalité de l'application doit avoir et utiliser toutes les installations offres Drupal, y compris les utilisateurs, le système d'autorisation, etc, etc. Je ne t vraiment comprendre la dernière partie de votre deuxième question: « l'application de son propre drupal par exemple à l'intérieur d'un drupal site drupal (de drupals imbriquées?)? ». Drupal est une collection de fichiers PHP sur un serveur qui, avec un grand nombre de tables dans une base de données sert demande faite à elle. Plusieurs sites Drupal (si différents fichiers PHP) peuvent faire référence à la même base de données ou des parties de celui-ci (par exemple la table utilisateur). Il n'y a pas vraiment une « instance » d'un site Drupal, car il n'y a pas vraiment une « application ». Je pourrais bien sûr être trop peu familiers avec ces termes, mais je ne pense pas que PHP fonctionne avec des « instances » de « applications ».

  4. C'est un problème difficile, Drupal afaik ne fonctionne pas avec MS SQL, de sorte que toutes les connexions dans cette direction que vous pourriez avoir à vous faire. Je voudrais aussi demander autour des forums Drupal ou sur IRC.

Bonne chance!

Autres conseils

Je crains que je n'ai aucune expérience avec Drupal donc je ne peux pas offrir des aperçus sur votre première ou deuxième questions, mais sur la troisième question:

  

Quelle est la meilleure / meilleure façon de gérer   bases de données MS SQL et / ou MySQL   bases de données utilisées et mises à jour par   Drupal multiple et ASP.NET   applications?

Si vous allez effectuer des opérations de CRUD à la fois vos applications ASP.NET et vos applications PHP / Drupal, alors je vous recommande de ne pas essayer de synchroniser les données et-vient entre MySQL et MSSQL car cela causera des problèmes de latence, plus vous » ll a ensuite de traiter les différences entre les deux systèmes de gestion de base de données.

Au lieu de cela, je vous recommande de regarder à l'aide de procédures stockées pour contrôler tous les accès base de données. De cette façon, vous pouvez vous assurer que toutes vos bases de données des opérations de CRUD sont conformes aux mêmes règles et la logique.

Utilisation MSSQL à la fois ASP.NET et PHP ne devrait pas être un problème, surtout pas avec la très excellente bibliothèque PDO qui fournit une interface standard pour accéder à un certain nombre de systèmes de gestion de bases de données populaires. Il devrait vous permettre de vous connecter rapidement et facilement avec et commencer à utiliser vos bases de données MSSQL dans vos applications PHP.

Il y a quelques bonnes questions que vous posez. Je vais essayer d'y répondre au mieux de mes capacités. Je n'ai pas d'expérience avec c # de APS.NET, donc je ne sais pas exactement où vous venez. Je me suis appris Drupal en tant que développeur python / django inexpérimenté. Donc, à certains égards, je peux comprendre quelques-uns des problèmes que vous allez en essayant d'apprendre Drupal. Certaines de ces choses, il faudra simplement le temps / expérience / expérimenter avant qu'il disparaîtra.

  1. Pour vraiment comprendre Drupal et l'API Drupal vous devez d'abord une bonne compréhension de PHP. Parfois, Drupal faire des choses PHP complexes, donc si vous ne comprenez pas la syntaxe ou les fonctions PHP etc, vous pouvez facilement vous perdre.

    • Où vivent code? Drupal est construit comme un système de Moduler. Drupal est lui-même un ensemble de modules, dont certains sont nécessaires pour Drupal fonctionne correctement. Si vous voulez faire un code personnalisé, qui vous voulez faire quelque chose, que vous ne pouvez pas utiliser un module. Il y a environ 5000 modules développés pour Drupal. Souvent, même quand être un programmeur expérimenté, le meilleur choix est de trouver un module qui va faire ce que vous avez besoin ou pouvez-vous obtenir où près. Alors ce que vous faites, pour créer un module de votre propre.

      1. Faire un dossier avec le nom du module

      2. Créer un modulename.info intérieur qui contient quelques informations sur le module au format d'une manière spéciale. Drupal aura besoin pour afficher fx le module sur la page de la liste des modules vous permettent d'activer les modules.

      3. créer enfin un fichier modulename.module où le cœur de votre code pour le module sera.

      Une autre chose qui est important de comprendre avec Drupal, est qu'il utilise un système de crochet. Les crochets sont comme des événements qui déclenchent une fois que certaines choses arrivent que vous voulez brancher dans et soit modifier le flux, ou faire des choses de votre propre. Fx vous pouvez enregistrer chaque fois une forme spécifique a été affiché, ou vous pouvez modifier la forme, l'ajout / suppression des champs.

    • Formulaires Drupal a une FAIP ou API Form, qui est utilise pour générer la forme, c'est quelque chose qui a sa propre page dans la documentation. L'idée est que vous créez un tableau PHP associatif qui contient des informations sur chaque élément de la forme, et Drupal utiliser pour créer le formulaire.

    • Livres Il y a beaucoup de bons livres pour Drupal que vous pouvez apprendre. Le livre que je me ai appris le plus de Pro Drupal développement

  2. Tout d'abord, Drupal dispose d'un système d'autorisation à base de rôle à grain très fin, qui vous permettra de configurer exactement ce que vos clients sont autorisés à le faire. Vous pouvez créer des rôles différents, comme modérateur, créateur de contenu, admin, ect sysadmin, et donner des autorisations différentes à chaque rôle. Ceci est assez facile et est configuré dans le Drupal AI. Cependant, vous devez connaître les autorisations que certains sont permissions super qui donneront accès à beaucoup de choses. Maintenant, pour l'intégration de vos applications, c'est quelque chose que vous voulez sans doute écrire un module personnalisé pour. Je ne sais pas exactement comment vous voulez faire. Mais je pense que le meilleur résultat serait obtenu en laissant Drupal créer les pages, forme etc de votre application et simplement envoyer des données avant et en arrière. De cette façon, le thème = mise en page du site serait conforme. Que les utilisateurs de façon ne ont le sentiment qu'ils ont quitté le site, mais ce n'était tout simplement encore une autre caractéristique du site proposé.

  3. Drupal est non seulement mis à gérer MYSQL mieux, vous allez réellement besoin soit MYSQL ou PSQL que votre base de données back-end de Drupal. La raison est la façon dont Drupal gère les requêtes, qui vous permettent d'écrire des requêtes non spécifiques qui fonctionnent, peu importe sur lequel des deux types que vous utilisez, ou si vos tables a un préfixe. Donc, pour tous les Drupal vous aurez besoin d'un fonctionnement interne des ee deux. PHP peut se connecter à MSSQL et exécuter des requêtes sur cette base de données, vous pouvez donc sans problème beaucoup écrire du code personnalisé qui exécuter des requêtes aux bases de données de votre application et autres soit récupéré ou des données de mise à jour. Selon les données, vous pouvez créer une table dans votre base de données que vous pouvez lire et écrire, puis synchroniser les bases de données en cas de besoin. Cela dépend un peu de votre cas d'utilisation. Je l'ai fait ce dernier, dans le cas où je ne l'ai pas besoin d'écrire dans la base de données, mais seulement nécessaire pour aller chercher des informations de produit forment une base de données existante qui était encore utilisé par d'autres systèmes.

RLB,

Je l'ai fait un peu de Drupal et ont une forte expérience ASP.NET. Vous avez vraiment besoin de lire pour obtenir votre droit de mentalité. Ils utilisent des couches de façon MVC comme qui est très étranger à WebForms et développeurs ASP.NET MVC ... et tout à fait franchement tout d'abord semble étrange.

Voici une liste des choses que j'ai pour vraiment, vraiment bien vite:

  1. Obtenir un hôte comme à hostgator pour 8 $, ce qui vous permettra d'installer Drupal
  2. Obtenir le livre Pro Drupal Development pour les débutants ... excellent et couvre vraiment beaucoup de domaines

    Quelques bonnes réponses ici, donc je vais juste remplir quelques articles brefs.

    1 - Apprendre Drupal: Pro Drupal Development est le meilleur livre pour cela. Se lancer dans les files d'attente d'émission et d'interagir avec les développeurs est un moyen de se familiariser avec les détails. Votre question sur les formes concerne la façon dont Drupal gère les formulaires. Le REATB est assez robuste dans Drupal, et vous protège des gaffes de sécurité. Aussi dot api Drupal dot org est où le code est documenté, mais il y a docs ailleurs. Google est ton ami. (Sur le site Drupal lui-même, utilisez la recherche native pour obtenir des résultats à facettes.)

    2 - Ceci est un problème des droits d'utilisateur. Vous pouvez limiter les autorisations de création et d'édition en fonction du type de contenu. Pour le contrôle d'accès (lecture), vous voulez utiliser l'un des nombreux modules pour le contrôle d'accès. Cela dépend vraiment de votre cas d'utilisation.

    3 - Drupal a le plus grand soutien communautaire pour MySQL, mais les gens exécuter Drupal sur MS SQL ainsi. Dans Drupal 7, vous verrez probablement beaucoup plus de soutien pour les non-MySQL que cette version introduit l'abstraction de base de données.

    Probablement la pire chose à faire est de bricoler autour des marges. Il est vraiment rentable d'apprendre les tenants et les aboutissants des bases Drupal - l'administration et de codage -. De sorte que vous pouvez vraiment tirer parti de la puissance de Drupal apporte à la table

    Et si vous êtes de chasse pour les modules, http://drupalmodules.com est votre ami. ;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top