2011-05-07 17 views
6

Soy nuevo en Drupal y obtenía un poco de información mixta sobre las vistas, así que quería ver si alguien puede ponerme en el camino correcto.¿Cómo publicar datos que residen en una base de datos externa usando Drupal?

Aquí está mi situación. Tengo una base de datos separada (en el mismo servidor de base de datos Drupal), que tiene una gran cantidad de datos que mantiene otro equipo. Queremos publicar esos datos en la web y, después de obtener algunas sugerencias, parece que las vistas de Drupal son el camino a seguir.

El problema es que no estoy seguro de a dónde ir. Leí la documentación y acabo de ver el tutorial de vistas en Lullabot, pero mis datos no están en absoluto en las columnas de campos.

Leí un documento que decía que tenía que "describir" mi base de datos externa a Drupal, pero no estaba seguro de cómo hacerlo. Encontré algunas herramientas en drupal.org (servicios, etc.) que dicen que pueden analizar mi base de datos e informar la estructura nuevamente a Drupal, pero no puedo resolverlo.

Básicamente, el resultado final que quiero es dos cosas. Primero es simplemente mostrar los datos como están desde mi base de datos externa a un nodo Drupal (la única pega es que cada página es específica para una entidad de base de datos, así que aunque el formato/visualización de datos es estándar, los datos mismos cambiarán con los enlaces, por ejemplo, www.example.com/ibm solo debe proporcionar nuestros datos en ibm y, a medida que cambia el nombre de la empresa, también lo hacen los datos que se muestran) y más tarde es posible que desee ejecutar algunos cálculos sobre los datos antes de que aparezcan.

¿Alguien tiene alguna sugerencia de cómo hacer esto o algún tutorial?

Si ayuda, estoy usando Drupal 7.

En una nota lateral, si no es posible hacer esto en Drupal o incluso si lo es, ¿sería mejor para crear esta en PHP y luego de alguna manera envolverlo en Drupal? Estoy debatiendo esto porque creo que sé cómo hacerlo en PHP y podría darme más control sobre el resultado (pero estoy siendo un poco vago porque estoy pensando que tal vez Drupal pueda hacerlo por mí :-)

Actualización: Bien, ahora estoy aún más confundido. He examinado las vistas y todavía no puedo integrarlas en mi base de datos. He observado esquemas y fuentes para describir la base de datos o hacer que se replique con Drupal. No estoy seguro de si voy en la dirección correcta (o cuál es la dirección correcta) porque hasta ahora todo lo que intento parece ser un callejón sin salida. ¿Alguien puede sugerir un tutorial? ¿O relatar sus experiencias al hacer esto? Simplemente quiero mostrar contenido de otra base de datos en una página (cuando los usuarios seleccionan un ticker de acciones específico), es posible que desee permitirles a los usuarios personalizarlo más tarde (por eso creo que se necesitan puntos de vista).

Respuesta

6

En cuanto a la conexión a la base de datos, en settings.php puede agregar conexiones de base de datos adicionales y usar la función db_set_active ('connection_name') en el código para cambiar su conexión db activa a esa fuente. Crear complementos para vistas: ese es un gran tema que va mucho más allá del alcance de una sola respuesta. Todo lo que puedo decir es Google y buena suerte, y volver con detalles :)

+0

Gracias David. Estoy tratando de tener una idea general de cómo abordar esto. He visto la conexión db que mencionaste, donde puedo conectarme a otra base de datos dentro del código php y luego volver a la base de datos drupal. ¿Pero eso significa que debería simplemente escribir el código personalizado? o puede el módulo de vistas reconocer mi base de datos externa y permitirme mostrar mi contenido? – Lostsoul

+1

@Lostsoul lo siento si no estaba claro. Debería escribir un plugin de vistas para permitir que las vistas comprendan la estructura de datos. Puede ver cualquier módulo de Drupal que tenga sus propios complementos de vistas como ejemplo, incluidos los complementos que vienen con el módulo de Vistas. –

+0

ok gracias David. Entiendo ahora. Comenzaré a buscar un código de vistas y veré si puedo entender cómo lo están haciendo. Muchas gracias, si está bien, voy a mantener abierta la pregunta solo en caso de que alguien más tenga otro enfoque. Gracias de nuevo David. – Lostsoul

1

El módulo Forena se puede utilizar para consultar (no actualizar) todo tipo de bases de datos, como una base de datos MySQL, y establecer conexiones de bases de datos a las bases de datos externas. Y viene con varios ganchos para usar Forena desde otro módulo.

Para más detalles sobre Forena, 2 tipos de documentación están disponibles:

  • Community documentation.
  • Documentación que viene con Forena, que puede acceder inmediatamente después de la instalación y habilitación del módulo. Partida de los demo site para un ejemplo en línea de la corriente:

    • documentación Forena - usar el enlace 'Informes documentación' o visite relativa enlace/informes/ayuda.
    • Forena muestras - utilice el enlace 'Informar muestras' o visite el enlace relativo/informes/muestras (estos ejemplos son completamente funcionales, así que asegúrese de experimentar un poco con ellos, como los drill downs disponibles en el gráfico SVG muestra).

La nueva versión 7.x-4.x incluye también una increíble (creo) de interfaz de usuario, ya sea para crear sus informes (el editor de informes WYSIWYG) y/o para la creación de consultas SQL (la consulta Constructor).

Estas son algunas variantes de la parte base de datos MySQL:

  1. El uso de un SQLite en lugar de la base de datos MySQL: las muestras Forena realmente se les envían incluyendo una base de datos SQLite (Tiny). Ve a verlo en el demo site: los datos que se muestran son datos contenidos en la muestra, que está en formato SQLite.
  2. Forena viene con un conjunto completo de Supported database connections ... como MS SQL, Oracle, Postgress o cualquier variación compatible con PDO.

¿Bastantes razones para considerar dar una oportunidad a Forena? Mientras lo hace, use su cola de problemas para cualquier tipo de solicitud de soporte/documentación que pueda tener.

Tenga en cuenta: soy un co-mantenedor de Forena.

Cuestiones relacionadas