Le présent document a pour but de décrire les différentes étapes permettant d’installer et de configurer StimulSoft Report Repository Manager, application du portail d’IceCube2.Net permettant d’éditer des rapports StimulSoft Reports.Web. Ces derniers sont des documents contenant des champs dynamiques destinés à être remplis par une source externe et générer un document PDF. Ils sont notamment utilisés dans les traitements de FormBuilder Pro afin de générer des documents PDF à la volée.

Création des tables

L’installation de Report Repository comprend la création de deux tables :

  • StimulSoft_Reports :  les rapports MRT;
  • StimulSoft_ReportCategories : les categories sous lesquelles sont répertoriés les documents MRT.

Voici le script SQL de création des tables :

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[StimulSoft_ReportCategories](
       [Id] [int] IDENTITY(1,1) NOT NULL,
       [Title] [nvarchar](255) NOT NULL,
       [ParentId] [int] NULL,
 CONSTRAINT [PK_StimulSoft_ReportCategories] PRIMARY KEY CLUSTERED 
(
       [Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[StimulSoft_ReportCategories]   WITH CHECK ADD  CONSTRAINT [FK_StimulSoft_ReportCategories_StimulSoft_ReportCategories] FOREIGN KEY([ParentId])
REFERENCES [dbo].[StimulSoft_ReportCategories] ([Id])
GO

ALTER TABLE [dbo].[StimulSoft_ReportCategories] CHECK CONSTRAINT [FK_StimulSoft_ReportCategories_StimulSoft_ReportCategories]
GO

 CREATE TABLE [dbo].[StimulSoft_Reports](
       [Id] [int] IDENTITY(1,1) NOT NULL,
       [InternalName] [nvarchar](255) NOT NULL,
       [Title] [nvarchar](255) NOT NULL,
       [CategoryId] [int] NULL,
       [Archived] [bit] NOT NULL,
 CONSTRAINT [PK_StimulSoft_Reports] PRIMARY KEY CLUSTERED 
(
       [Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
 CONSTRAINT [UK_InternalName] UNIQUE NONCLUSTERED 
(
       [InternalName] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[StimulSoft_Reports] ADD   CONSTRAINT [DF_StimulSoft_Reports_Archived]  DEFAULT ((0)) FOR [Archived]
GO

Fichiers à copier

La DLL de Report Repository est à copier dans le dossier « bin » du site :

  • IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager.dll
  • IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager.pdb
  • Stimulsoft.Base.dll
  • Stimulsoft.Report.dll
  • Stimulsoft.Report.Web.dll
  • Stimulsoft.Report.WebDesign.dll

Dans le répertoire du Portal IceCube2.Net, se rendre dans le sous-répertoire « Editor\InstancePortal\Applications\ » et créer l’arborescence « ReportRepository\Designer\ » pour y copier les fichiers ASPX de Report Repository.

Configuration

Dans la table BOApplications, ajouter une nouvelle entrée pour l’application StimulSoft Report Repository Manager avec les données suivantes :

 

  • Status :            1
  • Visible :                        1
  • Name :             Report Repository
  • URL   :               ../Applications/ReportRepository/Designer/Default.aspx
  • URLTarget :      Laisser vide
  • DisplayMode :  0
  • HelpURL :         Laisser vide
  • InternalName : ReportRepository
     
     

Ensuite, dans le Web.config du site, ajouter la section des settings de Report Repository et saisir l’ID générée dans le setting « ApplicationId » (en vert ci-dessous) :

<IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager.Properties.Settings>

<setting name="ApplicationTitle" serializeAs="String">

<value>Report Repository Manager</value>

</setting>

<setting name="ReportFolderPath" serializeAs="String">

<value>DOSSIER DES FORMULAIRES MRT</value>

</setting>

<setting name="LogsReportFolderPath" serializeAs="String">

<value>DOSSIER DES LOGS</value>

</setting>

<setting name="IsDebug" serializeAs="String">

<value>False</value>

</setting>

<setting name="DebugAccessType" serializeAs="String">

<value>Manage</value>

</setting>

<setting name="UserContextType" serializeAs="String">

<value>IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager.IceCubePortalUserContext, IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager</value>

</setting>

<setting name="ApplicationId" serializeAs="String">

<value>1024</value>

</setting>

<setting name="ImpersonationLogin" serializeAs="String">

<value>s#icecube-web</value>

</setting>

<setting name="ImpersonationPassword" serializeAs="String">

<value>********</value>

</setting>

<setting name="ImpersonationDomain" serializeAs="String">

<value>dmz</value>

</setting> </IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager.Properties.Settings>


Les settings en jaune correspondent aux répertoires à configure (chemin du répertoire des logs de l’application et celui des fichiers MRT).

Les settings en rose sont facultatifs (les laisser vides s’ils ne sont pas requis). Il s’agit des données d’authentification au répertoire de stockage des fichiers MRT. C’est le cas notamment pour un enregistrement de ces derniers dans la DMZ du Canton du Jura.

Afin que l’application puisse utiliser les settings, ajouter dans « <configSections><sectionGroup> » :

<section name="IceCube.Web.InstancePortal.Applications.Forms.ReportRepositoryManager.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

Pour connecter l’application à la base de données, il convient également d’ajouter la Connection String vers la base de données dans la balise <connectionStrings> :

<add name="StimulsoftConnectionString" connectionString="CONNECTION STRING"
 
providerName="System.Data.SqlClient" />

Les différents droits de l’application sont les suivants :

  • Read only : l’utilisateur peut seulement visionner les rapports MRT ;
  • Write : l’utilisateur peut créer des catégories et des rapports MRT ;
  • Manage : l’utilisateur peut administrer l’application.

Actuellement, la gestion des droits n’est pas encore effective car elle n’a pas été complètement implémentée. À l’heure actuelle, tous les utilisateurs du Portal IceCube2.Net ont un droit « Manage » sur l’application.

Pour poursuivre l’implémentation de la gestion des droits, il conviendra de modifier le code du fichier « UserContexts\IceCubePortalUserContext.cs », dans le projet MS Visual Studio de Report Repository.
 

Une fois les étapes précédentes effectuées, l’application StimulSoft Report Repository Manager est disponible dans le Portal IceCube2.Net : 

Figure 1 : Accès à Report Repository via le Portal


 

Figure 2 : L'application Report Repository