control

CK-MultiPlan

End-user controlled template engine

CK-MultiPlan est une manière innovante de créer des rapports Office qui est simple à l’usage pour l’utilisateur et indolore pour le développeur.

C’est un composant logiciel que tous les architectes et décisionnaires techniques devraient connaitre!

Donner le contrôle à vos utilisateurs

Éditer un template est fait directement avec les outils habituels pour ce type de document (MS Word, Excel, etc.) sans outils supplémentaires. Un template est un document normal qui contient de la donnée d’exemple ainsi que des « tags » qui décrivent où et comment va être intégré la donnée dans le document.

Tous ceux qui savent éditer un document peuvent le transformer en template en quelques minutes !

control
control

Vos documents existants ne sont pas perdus

Vous et vos clients avez déjà fait des documents de rapport (au format Word, Excel, etc.), mais vous les créez à la main ? L’investissement ne sera pas perdu, il vous suffit de les transformer en template pour CK-MultiPlan et vous pourrez les utiliser pour vos opérations de génération de repporting.

La plupart des solutions obligent à refaire les templates ou à faire du développement spécifique pour que vos rapports puissent être générés (voir les deux dans certains cas). CK-MultiPlan permet de ne pas avoir de développement spécifique en fonction du template, les développements d’intégration de CK-MultiPlan seront souvent faits une bonne fois pour toutes.

Faciliter la vie de vos développeurs

Ajoutez le package NuGet CK.MultiPlan à vos solutions .Net existantes et créez vos rapports en quelques minutes grâce aux implémentations existantes de Feeder qui savent lire la donnée.

        // Load the template, feed it with data and save.
        using( var template = MultiPlan.LoadTemplate( "Template.docx", LogFilter.Debug ) )
        {
            var feeder = new XmlDataFeeder();
            feeder.Feed( "Data.xml", template );
            template.Save( "GeneratedDocument.docx", ExportType.Docx );
        }

C’est un morceau de code très simple, mais qui couvre 90% de vos besoins. Il est évidemment possible de faire des choses plus complexes comme par exemple la découverte que ce que le template souhaite recevoir comme donnée (par exemple un simple nom de source de donnée) et alors choisir ou construire une donnée qui satisfait le besoin… et, une fois fait, ceci fonctionnera sans soucis avec tout type de template (Excel, Word, etc.)

Résolvez les problèmes et vous serez la personne que tout le monde attend

Vous savez que la génération de rapport est souvent « bordélique ». CK-MultiPlan facilite non seulement l’intégration, mais aussi la réutilisation de vos données existantes (modèle objet existant, sources de données XML, web service, etc.) pour remplir différent type de technologie de présentation ou différents templates (qui pourront être édité pour l’utilisateur final ou non).

En tant que développeur, vous vous concentrez sur la donnée que vous voulez ou qui doit être potentiellement exposée.
En tant qu’utilisateur, vous vous concentrez sur la manière de l’afficher.
En tant qu’architecte, vous vous concentrez sur la façon dont les utilisateurs vont gérer leurs templates et comment les développeurs vont produire la donnée.
Et relaxez-vous.

control
control

Comment ça marche

Le design de CK-MultiPlan s’appuie sur le concept bien connu de séparation entre la donnée et la vue : le template (la vue) contient des Tags qui identifient les « morceaux de donnée » via une simple notation pointée (comme « Customer.Person.FullName »).

La définition des Tags dépend de la technologie sous-jacente : nous avons choisi la meilleure, la plus simple et la plus puissante manière de les définir pour chaque technologie de présentation. Par exemple, pour Word, nous nous appuyons sur la fonctionnalité de Word appelée Structured Document Tags alors que dans Excel (qui ne contient pas de SDT) les Tags se représentent sous forme de tag textuel qui peuvent être placés à différent endroit du document (même les commentaires de cellules peuvent contenir des Tags).

La notation pointée décrit la donnée demandée par le template. C’est différent de la donnée qui sera effectivement donnée pour produire le document final : exactement la même donnée (provenant d’une base de données par exemple) peut être utilisée pour remplir un document Excel et un document Word.

Les Faits

Base de code complément managé en .NET 4.5.
L’utilisation et la génération ne dépendent pas d’une installation d’Office.
Les implémentations actuelles des moteurs de templates :

  • Fichiers Excel (2010, 2013) vers Excel ou PDF
  • Fichiers Word (2010, 2013) vers Word ou PDF
  • Fichiers XML vers XML

control control control
control

Des questions ?

Vous voulez en savoir plus ?

Utilisez le formulaire ci-dessous pour nous contacter.