Mostrando entradas con la etiqueta Visual Studio. Mostrar todas las entradas
Mostrando entradas con la etiqueta Visual Studio. Mostrar todas las entradas

jueves, 9 de abril de 2015

Cómo acceder a Bases de datos en SharePoint 2010

Si necesitamos acceder a la base de datos de SharePoint 2010, para trabajar sobre ella en nuestro Webpart o el desarrollo que estamos haciendo en nuestro proyecto de Visual Studio, podemos averiguar su ubicación de la siguiente manera:

1) Abrimos el Administrador Central de SharePoint 2010
 2) Ingresamos por el Administrador de Aplicaciones y en el grupo de Bases de Datos, ingresamos por  el "Administrador de Contenido de Bases de Datos"

3) Esto nos muestra el listado de las bases de datos que hay actualmente en SharePoint 2010. Seleccionamos la base de datos a la cual queremos conectarnos.


 4) En la siguiente página nos va a mostrar los datos que necesitamos para ingresar a la BD de SharePoint 2010. Tomamos nota de ellos, que en seguida los utilizaremos.


5) Vamos a Visual Studio 2010, o a nuestro administrador de base de datos de SQL Server. buscamos la opción que nos permita "Agregar Conexión"


6) Ingresamos los datos que nos suministró SharePoint, para pdernos conectar a su base de datos y pulsamos el botón de "Probar conexión".


7) Si todo ha marchado bien hasta aquí, entonces ya tendremos acceso a la base de datos de SharePoint y podremos observar su estructura, contenido y trabajar sobre ella directamente.



Sharepoint viene con el nombre de la base de datos ya predefinida, pero se puede modificar manualmente.

La siguiente es la lista de las bases de datos utilizadas en SharePoint 2010, en cada una de sus versiones.

Bases de Datos para SharePoint Foundation 2010


Configuración (SharePoint_Config) - Contiene los datos sobre las Bases de Datos utilizadas, información sobre Internet Information Services (IIS), Aplicaciones Web, Soluciones de confianza, paquetes de WebParts, plantillas de sitios y las configuraciones de Granjas y Aplicaciones Web (como las cuotas a utilizar y los tipos de archivos bloqueados por ejemplo)

Central Administration Content (SharePoint_AdminContent) - Conserva todo el contenido del sitio de la Administración Central incluyendo documentos o archivos, Listas, propiedades de WebParts, nombres de cuentas y sus derechos para la Colección de Sitios de la Administración Central. Si PowerPivot está instalado, esta Base de Datos contiene las hojas de cálculo de Excel y los datos de PowerPivot utilizados en su Management Dashboard

Bases de Datos de Contenido (WSS_Content) - Contienen todo la información de las Colecciones de Sitios, incluyendo documentos y archivos en Bibliotecas, elementos de Listas, propiedades de WebParts, logs de Auditoria, Soluciones de SandBox, cuentas de usuarios y sus derechos. Si WebApps está instalado, la Base de Datos contiene el cache de WebApps; únicamente un cache es creado por Aplicación Web, si hay diferentes Colecciones de Sitios guardadas en diferentes Bases de Datos de Contenido, todas utilizan el mismo cache

Base de Datos de Usage and Health Data Collection (WSS_UsageApplication) - Mantiene las estadísticas de uso y salud del sistema. Los datos son guardados temporalmente y pueden ser usados para reportes y diagnostico

Base de Datos de Business Data Connectivity (Bdc_Service_DB) - Guarda los Tipos de Contenido externos y sus objetos para la Conectividad de Datos de Negocios

Base de Datos de Application Registry (Application_Registry_server_DB) - Contiene información de compatibilidad para el sistema de Catalogo de Datos Profesionales de SharePoint 2007

Base de Datos de Subscription Settings (SubscriptionSettings) - Conserva las Características y configuraciones para clientes hosteados

Bases de Datos de SharePoint Server 2010 Standard Edition


Utiliza las Bases de Datos mencionadas anteriormente más:

Base de Datos de Secure Store (Secure_Store_Service_DB) - Guarda el mapeo de credenciales, nombres y claves de las cuentas

Base de Datos de State (StateService) - Mantiene información temporal sobre el estado de InfoPath Forms Services, la WebPart de Chart y los Servicios de Visio

Base de Datos de Web Analytics Staging (WebAnalyticsServiceApplication_StagingDB) - Contiene datos sin organizar de metadatos para el servicio de Análisis de SharePoint

Base de Datos de Web Analytics Reporting (WebAnalyticsServiceApplication_ReportingDB) - Contiene las tablas para reportes agregados, factos agregados por grupos y sitios y la información de diagnóstico para la aplicación de Web Analytics Service

Base de Datos de Search service application Administration (Search_Service_Application_DB) - Mantiene la Lista de Control de Acceso (ACL) y best bets para el rastreador de búsqueda

Base de Datos de Search service application Crawl (Search_Service_Application_CrawlStoreDB) - Contiene los datos del rastreador y su historia

Base de Datos de Search service application Property (Search_Service_Application_PropertyStoreDB) - Contiene la información asociada a los datos del rastreador incluyendo sus propiedades, historia y filas de rastreador

Base de Datos de User Profile service application Profile (User Profile Service Application_ProfileDB) - Mantiene los datos asociados a usuarios, red social, membrecías y listas de distribución

Base de Datos de User Profile service application Synchronization (User Profile Service Application_SyncDB) - Contiene la información de los usarios cuando la Base de Datos de Perfiles es sincronizada con el Directorio Activo

Base de Datos de User Profile service application Social Tagging (User Profile Service Application_SocialDB) - Contiene las etiquetas y notas creadas por usuarios conjuntamente con sus respectivos URLs

Base de Datos de Managed Metadata (Managed Metadata Service) - Contiene la información de los metadatas manejados y los Tipos de Contenido sindicados

Base de Datos de Word Automation Services (WordAutomationServices) - Guarda la información sobre conversiones de documentos pendientes y completados

SharePoint Server 2010 Enterprise Edition


Utiliza todas las Bases de Datos mencionadas anteriormente más:

Base de Datos de PerformancePoint service (PerformancePoint Service Application) - Guarda los objetos temporales, valores de filtros y comentarios de usuarios

FAST Search Server para SharePoint 2010


Utiliza todas las Bases de Datos anteriores más:

Base de Datos de Search Administration (FASTSearchAdminDataBase) - Guarda los datos relativa a la administración de FAST Search Server 2010 para SharePoint, incluyendo la configuración de grupos, palabras clave, sinónimos, documentos, promoción y democión, extractor de términos, inclusiones y exclusiones, exclusiones de control de ortografía, best bets, visual best bets y metadata del esquema de búsqueda.


lunes, 30 de marzo de 2015

Cómo Instalar SharePoint 2010 en Windows 8

Tal vez parezca un tanto viejo el tema, pero hoy por hoy, todavía es vigente para muchas empresas que no han acutalizado sus sistemas operativos, o tal vez para los desarrolladores de soluciones basadas en SharePoint 2010.

1. Descargar prerequisitos


Primero debemos descargar e instalar los pre-requisitos para eso les recomiendo usar el siguiente script de powershell que encontraran en el siguiente enlace: http://gallery.technet.microsoft.com/office/bcf3332d-f726-4ac7-b01a-eeda4b7ece8e

2. Configurar: IIS

Luego debemos cambiar el Framework a usar en IIS al V2.0 (quitar la V4.0). Para hacer esto desde el _IIS Manager_ seleccionamos el _Application Pools_ y en el menu _Actions_ seleccionamos _Set Application Pool Defaults_ en ese punto deberíamos tener en la sección (General) la propiedad _.Net Framework Version_



3. Preparar el instalador

SharePoint esta creado para ser instalado naturalmente en un sistema operativo de servidor así que debemos hacer un pequeño cambio en el archivo _config.xml _ del instalador para que permita ser instalado en Windows 8. Para realizar esto debemos copiar todos los archivos al disco, ubicar el archivo (Se encuentra en _C:\XXXubicacion\\Files\Setup\config.xml_) y editar la linea <Setting Id="AllowWindowsClientInstall" Value="True"/>



Con estos tres pasos ya tenemos todo listo para iniciar nuestra instalación de la forma habitual.

Nota: Si tienen instalado InfoPath 2013 les dará error, hasta ahora (21-03-2015) la solución que encontré fue desinstalarlo.

miércoles, 8 de octubre de 2014

Resolviendo: ‘An exception occurred in publishing: No such interface supported (Exception from HRESULT: 0×80004002 (E_NOINTERFACE)’

Así que estoy utilizando Visual Studio 2010 RC (también lo vi rompiendo mi paciencia en Visual Studio 2012) y es un placer usarlo como una forma sencilla de publicar mis proyectos a diferentes ambientes. Sin embargo, un problema surgió hoy después de instalar algunas actualizaciones de herramientas web:

"Se produjo una excepción en la publicación: No se admite esa interfaz (Excepción de HRESULT: 0×80004002 (E_NOINTERFACE)"

Ni siquiera podía abrir la configuración de publicación de diálogo para ver si algo estaba mal en ese país. Traté de reiniciar Visual Studio, luego ejecutarlo como administrador, no hay cambio. Al final encontré los siguientes pasos en un foro que se resolvió el problema para mí:
  • Ejecuté el símbolo del sistema como administrador
  • regsvr32 actxprxy.dll
  • Reinicie Visual Studio
Y ¡listo, mi proyecto estaba trabajando otra vez!

Espero que esto sea de utilidad para alguien más por ahí golpeando su cabeza contra una pared de ladrillos tratando la forma de resolverlo.

jueves, 21 de agosto de 2014

Crear una aplicación de Windows para que funcione siempre como Administrador

Los permisos por defecto en cualquier aplicación que uno desarrolla para Windows, toma por defecto el usuario con el que nos hemos autenticado en Windows.  Esto ocurre por razones de seguridad.  Pero algunas veces necesitamos que nuestra aplicación haga actividades en el PC con permisos administrativos... y generalmente esto genera errores en nuestra aplicación.

El usuario final que tiene en sus manos nuestra aplicación (así recién salida del horno de nuestro cerebro), y con SO Windows 7 o superior, puede darle permisos de ejecución para que se ejecute como administrador.  Pero seamos francos... no podemos depender de lo que haga un usuario (así se lo expliquemos con plastilina).

Para crear una aplicación que siempre se ejecute con permisos de administrador, esto es lo que hay que hacer en nuestro código:

1) Crear el archivo de manifiesto.  En El sitio de MSDN hay un tutorial muy claro de cómo generar este archivo (y un poco largo para ser sinceros). Resumiendo: En Propiedades del proyecto, ingresamos en la pestaña de "Aplicación" y pulsamos el botón de "Ver configuración de Windows".  Esto generará un archivo automáticamente llamado app.manifiest


2) Modificando el archivo app.manifiest.  Abrimos el archivo recién generado y cambiamos la configuración de requestedExecutionLevel.  Debe quedar con la siguiente sintaxis: <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
En el archivo generado, hay varias opciones de ejemplo de lo que podemos hacer en cuanto a seguridad se trata, pero para nuestro objetivo de éste artículo pondremos el recien mencionado.


De esta manera, al ejecutar nuestra aplicación en Windows, sin importar cuál sea el usuario desde el que se está ejecutando la aplicación, tendrá como prioridad la ejecución "como administrador".

Esto es solo la mitad de la solución.  Porque el usuario, puede desde modificar sus permisos administrativos sobre cada aplicación y declarar nuestra aplicación como no apta para ser ejecutada con rol administrativo.  Entonces es necesario hacer una validación a nivel de código:

En VB.NET:

Imports System.Security.Principal
 
If myPrincipal.IsInRole(WindowsBuiltInRole.Administrator) = false Then
   MsgBox ("Requiere permisos administrativos para ejecutar esta aplicación")
End If 


En C#.NET:

using System.Security.Principal;
 
If (myPrincipal.IsInRole(WindowsBuiltInRole.Administrator) == false) {
MsgBox ("Requiere permisos administrativos para ejecutar esta aplicación"); 
}
 
 

lunes, 21 de abril de 2014

Server Error in '/' Application. Runtime error .NET

Cuando montamos nuestro proyecto en el servidor de .NET (por fín!), y en medio de la alegría, el entusiasmo y motivación nos hacen sentir como que nuestro hijo va a ser presentado en sociedad, es cuando nos cae un balde de agua fría al ver el siguiente error en pantalla:


Hay muchas maneras de tomar este error, la que siempre recomiendo es, antes que nada: ir por un café!  Y luego seguir con los pasos básicos para atenderlo.

¿Por qué tengo este error, si en desarrollo y pruebas no estaba?


Realmente nunca un entorno de desarrollo, uno de pruebas y uno de producción son iguales (así te lo digan en medio de un juramento hipocrático). Por lo tanto, hay varias cosas que pudieron salir mal.

Lo que es necesario entender en este momento, es que realmente no estas viendo un error de tu aplicación, es un mensaje generalizado, que te dice que NO te va a mostrar el error, pero que "Hay un error" (pero no te lo va a mostrar, peró si está).  Entonces el primer paso, es configurar el montaje en el servidor para ver el detalle del "error de nuestro trabajo".

Algunas causas que generalmente producen este error son:
  1. La aplicación se ha construido para una versión diferente de Framework a la que está corriendo en el servidor.
  2. Falta un parámetro de configuración en el web.config y se está utilizando en el código de nuestro proyecto.
  3. Faltó subir un ensamblado .dll a la carpeta bin.
  4. Publicamos archivos .aspx que no concuerdan con los .dll de la carpeta bin.
  5. No se han borrado algunos archivos viejos .dll de versiones anteriores y ahora hay conflicto entre los nuevos .dll que hay en la carpeta bin
  6. Algunas de las librerías de terceros (.dll) están compiladas para una versión diferente de Framework que la del servidor en donde montamos nuestro proyecto.
  7. No hicimos pruebas antes de montar al servidor y el error siempre ha existido en nuestro código.
  8. El servidor no nos quiere. (Esta causa no está documentada en MSDN)

Haciendo trabajo de detectives.


Primero que todo, ese no es el verdadero error, hay que indagar para saber cuál ha sido el error, entonces estos son pasos para poder ver el verdadero error:
  1. Saber exactamente cuál es la versión del Framework .NET del servidor y puede ser cualquiera de las siguientes opciones: 2.0, 3.0, 3.5 y 4.0.  Dependiendo de la Versión, hay diferentes alternativas, pero la general es como la menciono a continuación.
  2. En el archivo web.config buscar la cadena (así no exista esta configuración, así debe estar por defecto)
     <customErrors mode="RemoteOnly" />
     
  3. Cambiar el valor de mode por Off y debe quedar así:
    <customErrors mode="Off" />
     
Al ingresar de nuevo al sitio (o simplemente pulsando F5), debemos ver un error completamente diferente, el verdadero, el que nos ha dejado sin dormir, el que hay que corregir.

Para todos aquellos que llegaron a ver este desdichado artículo, los remito al lugar que debieron haber leído primero, para conocer un poco más del tema, del directamente responsable de su existencia: Microsoft y su documentación respecto a Elemento customErrors (Esquema de configuración de ASP.NET).


miércoles, 9 de mayo de 2012

Resturando el IntelliSense en Visual Studio

En algunos escenarios de desarrollo se cuenta con el agradable "IntelliSense", que nos permite ir más rápido que el tiempo que estimamos para un proyecto, y en muchas oportunidades para aprender un poco más del lenguaje.  Pero a veces falla.

Hay dos maneras de solucionar esto, si no funciona la primera, recomiendo de todo corazón la segunda (a veces ni uso la primera):

1a Forma: Configurando el entorno de desarrollo:

Ingresamos en el menú superior por Herramientas -> Opciones y del listado del lado izquierdo seleccionamos "Editor de texto", hay un subitem que se llama "Todos los lenguajes" y éste a su vez una subopción que se llama "General"

Ventana de Opciones del menú de Herramientas Visual Studio 2010

Las casillas de verificación señaladas en la imagen deben estar seleccionadas: "Lista de miembros automática" e "Información de parámetros". Y listo... El IntelliSense volverá a nuestro entorno de desarrollo.

...bueno, cuando cambio de lenguaje de programación, a veces no me funciona... entonces opto por la segunda forma.

2a Forma: Cambiando el entorno de ejecución de la aplicación:

Botón derecho sobre el proyecto, la opción "Página de propiedades", en la lista de la izquierda bucamos "General" y en la lista desplegable de "Versión de .NET Framework de destino" simplemente cambiamos a otro Framework de destino, confirmamos la ventana de advertencia, cerramos nuestro proyecto, lo volvemos a abrir y le ponemos la versión que teníamos originalmente, esto nos pedirá confirmar de nuevo. Cerramos y volvemos a abrir nuestro proyecto. Listo.

En pocas palabras, cambiamos la versión de Framework de destino, y lo volvemos a poner en la versión que necesitamos.  Esto restablece todas las librerías de IntelliSense en el entorno de desarrollo al momento de volver a abrir el Visual Studio.

7 razones para no usar Laravel en tu proyecto de PHP

En más de 40 años de experiencia como programador y director de proyectos de programación, he aprendido que cada requerimiento tiene mejores...