03-20-2008 06:03 AM
03-20-2008 01:05 PM
j'ai installé avec succès (heu, d'ailleurs j'ai plein de trucs à dire la dessus, ça s'est pas bien passé) la version Community sur un Xubuntu.Il faut les dire alors
Pour la circulation de base des documents, un "workflow simple" aurait pu suffire, mais là en effet il faut passer par la notion de workflows avancés / jBPM pour gérer l'ensemble des cas. En même temps ce n'est pas excessivement complexe et avec un ou deux workflows bien définis on doit pouvoir aller très loin.- Des éléves on un écrit à rendre à un prof, il se connecte sur Alfresco et écrivent l'article dans leur espace perso. Il peuvent l'éditer plusieurs fois, et quand il sont prêt à le rendre, ils le mettent dans un genre d'espace d'échange avec le prof (un répertoire spécifique, ou mieux ?).
Voilà c'est plutôt simple il me semble (surtout si on utilise l'éditeur WYSIWYG interne), seulement je ne sais pas comment m'y prendre (Il s'agit d'un workflow c'est ça ?).
- Le prof est prévenue qu'un nouveau document à été rendu (via RSS, mail… que propose Alfresco ?).
- Le prof corrige le document, et le rend à l'éléve.
- L'éléve corrige les erreurs signalé par le prof et renvoi le document dans un nouveau dossier, genre "Prêt pour publication", ou alors, peut être qu'on peut créer des statut personnalisé sur les documents ?
- Le prof valide et publie le document (ou ? Je sais pas trop, en facade d'Alfresco, accessible à tous le monde ça doit être possible ?).
03-23-2008 11:28 AM
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:review">
<swimlane name="initiator" /> (J'aimerais que le workflow soit lancé à la création du fichier par un membre du groupe éléve, automatiquement, ça devrait être la que ça se passe non ?)
<start-state name="start">
<task name="wf:submitReviewTask" swimlane="initiator" />
<transition name="" to="review" />
</start-state>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignee}</actor> (Ici je pense qu'il s'agit de la partie ou on dit "qui doit revoir le document", dans mon cas il s'agit de n'importe qui dans le groupe Prof, ça devrait simplifier le truc)
</assignment>
</swimlane>
<task-node name="review">
<task name="wf:reviewTask" swimlane="reviewer">
<event type="task-create">
<script>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
</script>
</event>
</task>
<transition name="approve" to="approved" />(Là c'est les deux actions possible, ok)
<transition name="reject" to="rejected" />
</task-node>
(Et la les deux actions font pareil… ok, moi il faut juste qu'en cas de "approved" je déplace le fichier vers un espace public, et qu'en cas de "rejected", on recommence à zéro le process de review, ça doit être possible ?)
<task-node name="rejected">
<task name="wf:rejectedTask" swimlane="initiator" />
<transition name="" to="end" />
</task-node>
<task-node name="approved">
<task name="wf:approvedTask" swimlane="initiator" />
<transition name="" to="end" />
</task-node>
<end-state name="end" />
</process-definition>
03-27-2008 06:08 AM
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignee}</actor>
</assignment>
</swimlane>
pour le remplacer par quelque chose qui désigne un groupe complet.03-27-2008 07:20 AM
Personne n'est donc disposé à m'aider ?Si si, mais il y a du monde à servir, et peu de ressources. Surtout pour ma part j'ai complètement zappé la demande
J'ai un peu avancé mais la documentation est pas très friendly… ni très complète.Vrai en partie. Avez-vous pu jeter un oeil au tutoriel de Jeff Potts ? C'est la meilleure "mise en jambe" que je connaisse.
Pour un projet open source de cette envergure, avec la popularité qu'il a je m'attendais à une communauté plus active…Le coté "actif" d'une communauté, c'est aussi vous (dans le sens tout le monde) qui le faite. C'est à dire que si après avoir eu des réponses vous continuez à fréquenter le forum et répondre à d'autres, alors oui, ce sera actif. Sinon ça ne dépendra que du temps libre de quelques personnes. Un exemple de ce que tout le peut faire à son niveau : vous avez parlé de problèmes d'installations sans les préciser. De fait ça ne profite à personne. Vous voyez, ça tient à peu de choses et si la communauté est active, elle est encore jeune, donc à nouveau … patience, on fait au maximum, mais les journées ne font que 24 heures et parfois on se rate un peu …
Je cherche toujours comment modifier le noeud rewiever pour le remplacer par quelque chose qui désigne un groupe complet.Avez-vous vous jeté un oeil à "bpm:groupAssignee" et "bpm:groupAssignees" au lieu de "bpm:assignee" ?
Si j'avais au moins des exemples de workflow avancé, mais non à part les deux par défaut j'ai rien…Il existe 5 exemples fournis avec Alfresco. Voir les fichiers "lifecycle-workflow-context.xml.sample" et "workflow-context.xml.sample" qui devraient vous donner des pistes en ce qui concerne les groupes.
03-27-2008 12:19 PM
J'ai déplacé le sujet dans le forum adapté, ça devrait aider.Merci
Vrai en partie. Avez-vous pu jeter un oeil au tutoriel de Jeff Potts ? C'est la meilleure "mise en jambe" que je connaisse.Je viens de le lire, il est en effet très intéressant et on comprend beaucoup de choses ! (le lien pour les intéressés)
Vous avez parlé de problèmes d'installations sans les préciser. De fait ça ne profite à personne. Vous voyez, ça tient à peu de choses et si la communauté est active, elle est encore jeune, donc à nouveau … patience, on fait au maximum, mais les journées ne font que 24 heures et parfois on se rate un peu …Je met au propre et je publie ces problèmes dès que j'en aurais fini avec ce workflow (par contre, où publier ce genre d'infos ? Dans la section "installation" ?)
Avez-vous vous jeté un oeil à "bpm:groupAssignee" et "bpm:groupAssignees" au lieu de "bpm:assignee" ?Non, et je ne trouve pas de référence technique / exemple au sujet de ces éléments, a part sur le wiki où ils sont cité :?: Je vois pas vraiment comment les utiliser.
Il existe 5 exemples fournis avec Alfresco. Voir les fichiers "lifecycle-workflow-context.xml.sample" et "workflow-context.xml.sample" qui devraient vous donner des pistes en ce qui concerne les groupes.Merci.
<?xml version="1.0" encoding="UTF-8"?>
<process-definition
xmlns="urn:jbpm.org:jpdl-3.2" name="submit-review-pub">
<swimlane name="initiator" />
<start-state name="start">
<transition name="" to="review" />
</start-state>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>#{people.getGroup("GROUP_professeurs")}</pooledactors>
</assignment>
</swimlane>
<task-node name="review">
<task name="wf:reviewTask" swimlane="reviewer" />
<transition name="approve" to="approved" />
<transition name="reject" to="rejected" />
</task-node>
<task-node name="rejected">
<task name="wf:rejectedTask" swimlane="initiator" />
<transition name="" to="review" />
</task-node>
<task-node name="approved">
<task name="wf:approvedTask" swimlane="initiator" />
<transition name="" to="end" />
</task-node>
<end-state name="end" />
</process-definition>
A moi ça me parait bon ^^ Les tâches ont leurs assignment, les tâches s'enchaîne… ça marchait avant que je casse tout ^^Veuillez corriger les erreurs ci-dessous puis cliquez sur Terminer.Rien dans les logs alfresco,
* Une erreur système s'est produite pendant l'opération : null
04-28-2008 07:41 AM
<?xml version="1.0" encoding="UTF-8"?>
<!– LPR Validation 12.1 –>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="lwf:validation">
<!– Workflow Initiator –>
<swimlane name="initiator"/>
<!– Workflow Reviewer –>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{reviewer}</actor>
</assignment>
</swimlane>
<!– Workflow Approbators –>
<swimlane name="approbators">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>#{group}</pooledactors>
</assignment>
</swimlane>
<!– Workflow Quality Approbators –>
<swimlane name="qualityassignees">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>GROUP_A_QUALITY_APPROBATORS</pooledactors>
</assignment>
</swimlane>
<!–**************************–>
<!–** <Start State> **–>
<!–** start **–>
<!–**************************–>
<start-state name="start">
<task name="lwf:submitReviewAndApprovalTask" swimlane="initiator" />
<event type="node-leave">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Start State</type>
<name>start</name>
<disable>false</disable>
</action>
<!– Remove all currents Permissions –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<permission>remove</permission>
</action>
</event>
<transition name="" to="checkreview"/>
</start-state>
<!–**************************–>
<!–** <Decision> **–>
<!–** checkreview **–>
<!–**************************–>
<decision name="checkreview">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Decision</type>
<name>checkreview</name>
<disable>false</disable>
</action>
<!– Check is the variable lwf_reviewAssignees exist –>
<action class="lpr.alfresco.repo.workflow.jbpm.CheckTypeExist">
<var>#{lwf_reviewAssignees}</var>
<type>reviewtype</type>
</action>
<!– Set read permission for the initiator –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<actor>#{initiator}</actor>
<permission>set</permission>
</action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
logger.log("Review Type is seting up to: " + reviewtype);
</script>
</action>
</event>
<transition name="approval" to="startapproval"/>
<transition name="review" to="startreview">
<condition>#{reviewtype == "true"}</condition>
</transition>
</decision>
<!–**************************–>
<!–** <Node> **–>
<!–** startreview **–>
<!–**************************–>
<node name="startreview">
<action class="org.alfresco.repo.workflow.jbpm.ForEachFork">
<foreach>#{lwf_reviewAssignees}</foreach>
<var>reviewer</var>
</action>
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Node</type>
<name>startreview</name>
<disable>false</disable>
</action>
<!– Set document status to Review –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetDocumentStatus">
<status>Review</status>
</action>
<!– Move Document to Review and Approval folder –>
<action class="lpr.alfresco.repo.workflow.jbpm.MoveDocument">
<folderdst>Review and Approval</folderdst>
</action>
<script>
<variable name="lwf_reviewCount" access="write" />
<expression>
lwf_reviewCount = 0;
</expression>
</script>
</event>
<transition name="review" to="review"/>
</node>
<!–**************************–>
<!–** <Task Node> **–>
<!–** review **–>
<!–**************************–>
<task-node name="review">
<task name="lwf_reviewTask" swimlane="reviewer">
<!– assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{reviewer}</actor>
</assignment–>
</task>
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Task Node</type>
<name>review</name>
<disable>false</disable>
</action>
<!– Set read permission for tne current reviewer –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<actor>#{reviewer}</actor>
<permission>set</permission>
</action>
</event>
<transition name="reject" to="endReview"/>
<transition name="approve" to="endReview">
<script>
<variable name="lwf_reviewCount" access="read,write" />
<expression>
lwf_reviewCount = lwf_reviewCount + 1;
</expression>
</script>
</transition>
</task-node>
<!–**************************–>
<!–** <<Join>> **–>
<!–**************************–>
<join name="endReview">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Join</type>
<disable>false</disable>
</action>
<!– Unset read permission for tne current reviewer –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<actor>#{reviewer}</actor>
<permission>unset</permission>
</action>
</event>
<transition to="isreviewed" />
</join>
<!–**************************–>
<!–** <Decision> **–>
<!–** isreviewed **–>
<!–**************************–>
<decision name="isreviewed">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Decision</type>
<name>isreviewed</name>
<disable>false</disable>
</action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="lwf_requiredReviewerPercent" access="write"/>
<expression>lwf_requiredReviewerPercent = lwf_requiredReviewPercent;</expression>
</script>
</action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="lwf_reviewerCount" access="write"/>
<expression>lwf_reviewerCount = lwf_reviewAssignees.size();</expression>
</script>
</action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="lwf_actualReviewerPercent" access="write"/>
<expression>lwf_actualReviewerPercent = ((lwf_reviewCount * 100) / lwf_reviewerCount);</expression>
</script>
</action>
</event>
<transition name="reject" to="rejected"/>
<transition name="approve" to="startapproval">
<condition>#{lwf_actualReviewerPercent >= lwf_requiredReviewerPercent}</condition>
</transition>
</decision>
<!–**************************–>
<!–** <Node> **–>
<!–** startapproval **–>
<!–**************************–>
<node name="startapproval">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Node</type>
<name>startapproval</name>
<disable>false</disable>
</action>
<!– Set document status to In Approval –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetDocumentStatus">
<status>Approval</status>
</action>
<!– Move Document to Review and Approval folder –>
<action class="lpr.alfresco.repo.workflow.jbpm.MoveDocument">
<folderdst>Review and Approval</folderdst>
</action>
<!– Get Approbators Group –>
<action class="lpr.alfresco.repo.workflow.jbpm.getApprobators">
<var>group</var>
</action>
<!– Set read permission for approbators group –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>#{group}</pooledactors>
<permission>set</permission>
</action>
</event>
<transition name="lwf_approve" to="approval"/>
</node>
<!–**************************–>
<!–** <Task Node> **–>
<!–** approval **–>
<!–**************************–>
<task-node name="approval">
<task name="lwf_approvalTask" swimlane="approbators">
<event type="task-end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
if (taskInstance.actorId == null)
taskInstance.actorId = person.properties.userName;
</expression>
</script>
</action>
</event>
</task>
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Task Node</type>
<name>approval</name>
<disable>false</disable>
</action>
<!– Set read permission for tne current approbator –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>#{group}</pooledactors>
<permission>set</permission>
</action>
</event>
<event type="node-leave">
<!– Unset read permission for tne group approbator –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>#{group}</pooledactors>
<permission>unset</permission>
</action>
</event>
<transition name="reject" to="rejected" />
<transition name="approve" to="checkpdf" />
</task-node>
<!–**************************–>
<!–** <Decision> **–>
<!–** checkpdf **–>
<!–**************************–>
<decision name="checkpdf">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Decision</type>
<name>checkpdf</name>
<disable>false</disable>
</action>
<!– Check if PDF convertion is enabled –>
<action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert">
<var>pdf</var>
</action>
</event>
<transition name="quality" to="startquality"/>
<transition name="published" to="published">
<condition>#{pdf == "true"}</condition>
</transition>
</decision>
<!–**************************–>
<!–** <Node> **–>
<!–** startquality **–>
<!–**************************–>
<node name="startquality">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Node</type>
<name>startquality</name>
<disable>false</disable>
</action>
<action class="lpr.alfresco.repo.workflow.jbpm.SetDocumentStatus">
<status>Quality Approval</status>
</action>
<!– Move Document to Drafts folder –>
<action class="lpr.alfresco.repo.workflow.jbpm.MoveDocument">
<qualitydst>Quality</qualitydst>
</action>
<!– Set Editor permission for the Quality Group –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>GROUP_A_QUALITY_APPROBATORS</pooledactors>
<permission>setEditor</permission>
</action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="lwf_qualityReference" access="write"/>
<expression>lwf_qualityReference="EU-DSI-IOP.0001";</expression>
</script>
</action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="lwf_qualityAgreement" access="write"/>
<expression>lwf_qualityAgreement="v1.0.Published.2008-04-23";</expression>
</script>
</action>
</event>
<transition name="approval" to="quality"/>
</node>
<!–**************************–>
<!–** <Task Node> **–>
<!–** quality **–>
<!–**************************–>
<task-node name="quality">
<task name="lwf_qualityTask" swimlane="qualityassignees">
<event type="task-end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
if (taskInstance.actorId == null)
taskInstance.actorId = person.properties.userName;
</expression>
</script>
</action>
</event>
</task>
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Task Node</type>
<name>quality</name>
<disable>false</disable>
</action>
</event>
<event type="node-leave">
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>GROUP_A_QUALITY_APPROBATORS</pooledactors>
<permission>unsetEditor</permission>
</action>
<!– Move Document to Drafts folder –>
<action class="lpr.alfresco.repo.workflow.jbpm.MoveDocument">
<folderdst>Review and Approval</folderdst>
</action>
</event>
<!– transition name="continue" to="qualityapproval" /–>
<transition name="continue" to="published"/>
</task-node>
<!–**************************–>
<!–** <Task Node> **–>
<!–** qualityapproval **–>
<!–**************************–>
<!–task-node name="qualityapproval2">
<task name="lwf_QualityTask" swimlane="qualityassignees" />
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Task Node</type>
<name>qualityapproval</name>
<disable>false</disable>
</action>
</event>
<event type="node-leave">
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>GROUP_A_QUALITY_APPROBATORS</pooledactors>
<permission>unsetEditor</permission>
</action>
</event–>
<!– transition name="rejection" to="rejected" /–>
<!–transition name="approve" to="published"/>
</task-node–>
<!–**************************–>
<!–** <Task Node> **–>
<!–** rejected **–>
<!–**************************–>
<task-node name="rejected">
<task name="lwf:rejectedTask" swimlane="initiator" />
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Task Node</type>
<name>rejected</name>
<disable>false</disable>
</action>
<!– Set document status to Drafts –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetDocumentStatus">
<status>Draft</status>
</action>
<!– Move Document to Drafts folder –>
<action class="lpr.alfresco.repo.workflow.jbpm.MoveDocument">
<folderdst>Drafts</folderdst>
</action>
<!– Unset read permission for the initiator –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<actor>#{initiator}</actor>
<permission>unset</permission>
</action>
<!– Set Editor Permissions for the initiator –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<actor>#{initiator}</actor>
<permission>setEditor</permission>
</action>
</event>
<event type="node-leave">
<!– unset Editor Permissions for the initiator –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<actor>#{initiator}</actor>
<permission>unsetEditor</permission>
</action>
</event>
<transition to="checkreview" name="restart"/>
<transition to="end" name="end">
<!– Restore all currents Permissions –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<permission>restore</permission>
</action>
</transition>
</task-node>
<!–**************************–>
<!–** <Task Node> **–>
<!–** published **–>
<!–**************************–>
<task-node name="published">
<task name="lwf:publishedTask" swimlane="initiator" />
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>Task Node</type>
<name>published</name>
<disable>false</disable>
</action>
<action class="lpr.alfresco.repo.workflow.jbpm.ApprovedDocument">
<folderdst>Approved</folderdst>
<!– status>Approved</status–>
</action>
<action class="lpr.alfresco.repo.workflow.jbpm.PublishedDocument">
<folderdst>Published</folderdst>
<!– status>Approved</status–>
</action>
<!– Unset Editor permission for the Quality Group –>
<action class="lpr.alfresco.repo.workflow.jbpm.SetPermissions">
<pooledactors>GROUP_A_QUALITY_APPROBATORS</pooledactors>
<permission>unsetEditor</permission>
</action>
</event>
<transition to="end"/>
</task-node>
<!–**************************–>
<!–** <End State> **–>
<!–** end **–>
<!–**************************–>
<end-state name="end">
<event type="node-enter">
<action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
<type>End State</type>
<name>end</name>
<disable>false</disable>
</action>
</event>
</end-state>
</process-definition>
package lpr.alfresco.repo.workflow.jbpm;
import org.alfresco.repo.workflow.jbpm.JBPMSpringActionHandler;
import org.alfresco.service.cmr.workflow.WorkflowException;
import org.jbpm.graph.exe.ExecutionContext;
import org.springframework.beans.factory.BeanFactory;
import lpr.alfresco.util.MyLogger;
public class WriteInfo extends JBPMSpringActionHandler {
private static final long serialVersionUID = 1L;
private static final String STAR = "*";
private static final Integer NBCHAR = 30;
// Patameters
private String type;
private String name;
private String message;
private String disable;
@Override
protected void initialiseHandler(BeanFactory factory) {
// Empty
}
public void execute(ExecutionContext executionContext) throws Exception {
if (type == null && message != null) {
throw new WorkflowException("WriteInfo variable name has not been provided");
}
if(disable == null) {
disable = "false";
}
if (disable.equals("false"))
if (message == null) {
MyLogger.debugln("",1);
MyLogger.debug("==> ",1);
for( int i=0; i<NBCHAR; i++ ) { MyLogger.debug(STAR,1); }
MyLogger.debugln("",1);
MyLogger.debug("==> ",1);
MyLogger.debug("*",1);
type = "<" + type + ">";
if(name == null) {
type = "<" + type + ">";
}
Integer nbspace = (NBCHAR / 2) - (type.length() / 2);
for( int i=1; i<nbspace; i++ ) { MyLogger.debug(" ",1); }
MyLogger.debug(type,1);
nbspace = NBCHAR - (nbspace + type.length());
for( int i=1; i<nbspace; i++ ) { MyLogger.debug(" ",1); }
MyLogger.debugln("*",1);
if (name!= null) {
MyLogger.debug("==> ",1);
MyLogger.debug("*",1);
nbspace = (NBCHAR / 2) - (name.length() / 2);
for( int i=1; i<nbspace; i++ ) { MyLogger.debug(" ",1); }
MyLogger.debug(name,1);
nbspace = NBCHAR - (nbspace + name.length());
for( int i=1; i<nbspace; i++ ) { MyLogger.debug(" ",1); }
MyLogger.debugln("*",1);
}
MyLogger.debug("==> ",1);
for( int i=0; i<NBCHAR; i++ ) { MyLogger.debug(STAR,1); }
MyLogger.debugln("",1);
MyLogger.debugln("",1);
}
else {
MyLogger.debugln("",1);
MyLogger.debugln("==> " + message,1);
MyLogger.debugln("",1);
}
}
}
==> ******************************
==> * <Node> *
==> * startreview *
==> ******************************
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.