Hi Babynus,
I have a few questions regarding document versioning.
Background:
As a construction/engineering company, document exchange with our clients is essencial for us. And by document I mainly mean CAD plots, most likely in a non-editable format (e.g. PDF).
It's also necessary to keep registry of doc versioning in paper, i.e. in the PDF plots themselves, since no client is going to rely on our server-sided doc version history.
A typical workflow for us is:
1- Someone within the company talks to the customer and gets the idea for a first draft.
2- I draw something in CAD.
3- Someone else within my company reviews it.
4- My boss takes a look at it, and decides wether it's suitable for being sent to the customer ("approves it" internally)
5- We generate a first PDF plot and send it to the customer: PLOT_vA.pdf
6- He/she cheks it, and writes back his/her opinions (or even comments the PDF)
7- I pick those corrections and draw a new version.
...repeat 3 and 4...
8- We generate a new PDF plot and send it to the customer: PLOT_vB.pdf
...iterate until the client is satisfied with the solution and finally Approves it (kudos!! 😉 )
After step 4, I'd write down the "checked by", "checked date", etc. fields IN the CAD draw and re-plot PLOT_vA, so that the PDF that I send to the customer contains that information.
Of course, after step 7 the situation is the same: I need to re-plot PLOT_vB for the PDF to contain the updated revision history.
Ok, enough background.
What we're trying to do now, is to make this workflow actually flow WITHIN Project'OrRIA.
The problem is this: I create the first version of a document, and upload it's first file. My partners are asigned as reviewers, and my boss as approver. They do so, the doc "flows through" it's pre-defined workflow, and gets approved so as to be sent to the customer. Then, I need to download it, edit it (adding the revision history info), and re-upload it. But I need it with the same revision number.
NOTE: when ticket #1097 (CMIS Server) would finally see the light, this could be more automated (since you wouldn't need to write down the rev history info), but still would need to be done.
I've tried it with either "Evolutive", "Sequential" and "Custom" versioning types:
- With Sequential it's impossible: once you upload a new version it will increase the version caption automatically.
- With Evolutive or Custom, there's the chance of defining a "no update" version. I thought that was precisely the case, but when I try to upload a new file and define the new version as "no update" (and mark it as reference for the doc) I get this error:
"Invalid controls."
"The version 'XX' already exists for this document"
Which is logical and self-explaining. But then again (and here comes the question):
- How is the field "no update" (in the "create new document version" dialog) used? Why can't I create a new "no update" version "because that version already exists"? What is that option for, then?
And a more general question:
- How can I modify a previous version of a document to reflect changes in the workflow (revision stage), but (optimally) NOT changing its revision number?
Perhaps there's no way to do this, and I'm going to have to settle with using "minor update" version type, but that would be sub-optimal.
If that's the case, i'd like to hear your thoughts, Babynus, about the chance of proposing this behaviour as an evolution for Project'Or RIA. But first I want to make sure I'm not missing anything here.
Cheers!
P.S.: I'm eagerly waiting for ticket #1046 to be consumed by new v3.4.0! 🙂
- How is the field "no update" (in the "create new document version" dialog) used? Why can't I create a new "no update" version "because that version already exists"? What is that option for, then?
- How can I modify a previous version of a document to reflect changes in the workflow (revision stage), but (optimally) NOT changing its revision number?
The issue is in your process : as I understand it, until validation by your boss, your document is under work. So it is a draft !
You just have to check "draft", with "no update", until your boss validates it.
Then you'll have
1) V1.0_draft1
2) V1.0_draft2
3) V1.0_draft3
4) V1.0 (when approved, else you get back to 2) increasing draft number)
5) V1.0 (different format ?)
6) V1.0
7) V1.1_draft1 ...
8) V1.1
until validation by your boss, your document is under work. So it is a draft !
Ah, I see...pretty obvious now, after your explanation... 😳
You just have to check "draft", with "no update", until your boss validates it.
Yes, that way I can separate internal/external revision process. I can use drafts as internal revision stages, and "no-drafts" as external ones.
Perhaps a possible improvement would be to auto-check "draft" (and disable its control) when the user selects "no update", since that would be the only way to use it...wouldn't it? (or am I missing something else? :silly: )
Of course, if you change your mind (or had clicked by mistake) and select "minor" or "major" update, the field "draft" would be cleared and re-enabled.
I'd find this way more intuitive. But then again, perhaps that's just me 😛I'm trying to prepare a workflow that is similar to our actual revision process. I'm reading the online help, but can't seem to get it right.
I have a few more questions:- If I get it correctly, you define a document's workflow, not directly, but through it's type, right? (when you define a doc as a specific doc type, that implies a specific workflow previously assigned to that type).
- The way to change the status to a specific version of a document is to edit it (through the pencil icon, within the Documents -> Versions sub-panel), isn't it?
Or is it done another way?2- I draw something in CAD.
3- Someone else within my company reviews it.In between these two steps:
- While "I'm drawing", the doc would have an "in progress" status. I'd like to define two levels of "approvers":
1- Reviewer: my partner/s, who check for mistakes.
2- Approver: my boss, who approves the document to be published (to client).
Do I have to define all of them as approvers, and then the pre-defined workflow determines who can change to which status? Or how can I accomplish this?- Once I've uploaded a file to create the first (or new) draft version of a doc, does the "approve" button automatically appears in the approvers' doc panel?. What if he finds errors? is there a "reject" button, so I automatically know that I need to review it? Is there a "comments" box, so that he/she can write down what needs to be changed in that particular version?
- Is a ticket (or activity) created automatically when the doc's status change? (e.g.: how can I know that I've got pending "reviewing" tasks?)
OK, that may be enough for now... While I wait for these answers, I may have to play around a bit more (in my local Projectorria) so as to find my way around this 😉
Thanks in advance! 🙂
Perhaps a possible improvement would be to auto-check "draft" (and disable its control) when the user selects "no update", since that would be the only way to use it...wouldn't it? (or am I missing something else?
No, because first draft version will have major or minor update, and last document with "no update" will not be draft any more.
For instance :
Major Update, draft => V1.0_draft1
No update, draft => V1.0_draft2
No update, not draft => V1.0
Minor update, draft => V1.1_draft1
No update, draft => V1.1_draft2
No update, not draft => V1.1
and so on...
- If I get it correctly, you define a document's workflow, not directly, but through it's type, right?
Yes
The way to change the status to a specific version of a document is to edit it (through the pencil icon, within the Documents -> Versions sub-panel), isn't it?
Yes
Or is it done another way?
No
Do I have to define all of them as approvers, and then the pre-defined workflow determines who can change to which status? Or how can I accomplish this?
Double approvment is not planned.
Once I've uploaded a file to create the first (or new) draft version of a doc, does the "approve" button automatically appears in the approvers' doc panel?. What if he finds errors? is there a "reject" button, so I automatically know that I need to review it? Is there a "comments" box, so that he/she can write down what needs to be changed in that particular version?
No, approvment process is not so sofisticated.
- Is a ticket (or activity) created automatically when the doc's status change? (e.g.: how can I know that I've got pending "reviewing" tasks?)
Hem, no. There is no direct way to check pending approvments. It may be an improvement to implement.
No, because first draft version will have major or minor update, and last document with "no update" will not be draft any more.
For instance :
Major Update, draft => V1.0_draft1
No update, draft => V1.0_draft2
No update, not draft => V1.0
Minor update, draft => V1.1_draft1
No update, draft => V1.1_draft2
No update, not draft => V1.1
and so on...
Now (I think) I get it... thanks for all your patience 😉
P.S.: this example (along with some of your epxlanations in this thread) should go straight to the user manual... I, at least, would have found it useful 🙂
Double approvment is not planned.
It would be pretty useful, I think, since this type of workflow is pretty spread around in construction, design, industrial (...) businesses.
Perhaps there could be an intermediate stage between "in process" and "approved". Something like "reviewed".
It's usual that there's only one, or a few, people, (department head) that are responsible for the approval of every doc. Since many docs are created, by many more people, bosses should only have to review the final drafts of the revision, when minor defects (omissions, typos, aesthetic issues, etc.) have already been found and corrected. And that first "review" can be done by peers. That way you manage to loosen up bosses' (usually pretty tight) schedule, but they still have "the last word".
Creating another "stage" could be the first step in an automated process.
You could do it anyway, since you can check when all the other "approvers" have approved the doc. And only then you mail your boss so that he knows that only his approval remains regarding a certain doc (or something like that...)
But in order to automate this (as a future improvement) Project'OrRIA should know these different stages (or at least I think so 😉 )
Once I've uploaded a file to create the first (or new) draft version of a doc, does the "approve" button automatically appears in the approvers' doc panel?. What if he finds errors? is there a "reject" button, so I automatically know that I need to review it? Is there a "comments" box, so that he/she can write down what needs to be changed in that particular version?
No, approvment process is not so sofisticated.
- Is a ticket (or activity) created automatically when the doc's status change? (e.g.: how can I know that I've got pending "reviewing" tasks?)
Hem, no. There is no direct way to check pending approvments. It may be an improvement to implement.
This could be a great (fundamental, I'd say) improvement for construction (or design, generally speaking) companies. Mainly because creating docs is (one of) the most important task(s) for everyone. So, automating this process would make everyone's lives so much easier 😉 .
The goal would be that, when I log in the portal, I get a summary of the docs I need to create, the ones I need to review (if I find errors I press a "reject" button and a dialog pops up prompting me to comment on necessary changes), and the ones I've already created and have been reviewed (and commented by peers) and need changes.
These would be tasks for me to complete (not sure if they should become tickets, activities, or something else...).
In fact, I'd like to propose this as an evolution. Do you think this is possible to be done? 🙂
Would you prefer me to continue this thread until we find precise definitions for these requirements? Or should I start a new "propose evolution" thread, with a more "open" idea (sort of "how I imagine the ideal document workflow, and the tools that I'd like Project'OrRIA to provide" thread B) )?
Thanks Babynus! for such an interest in resolving our doubts, and for your big patience!! :cheer:
Double approvment
Request recorded as Ticket #1115
way to check pending approvments
I had already recorded request as Ticket #1114.
And in fact, something like that already existed on Ticket #890.
way to check pending approvments
I had already recorded request as Ticket #1114.
And in fact, something like that already existed on Ticket #890.
Great!
Ticket #890 is "Document approval notification"
Probably just single button to send messages to all approvers (who still not approved) that they have document to approve
I understand this is some kind of reminder. That is nice to have. But what I intend is a little bit different: I'd prefer reviewing and approval stages became tickets, or activities, for people who are designated as responsable for those status changes. That way, that ticket remains there until you actually review/approve the doc (and doesn't get lost in email reminders) and actually consume the ticket (not really sure if "ticket" is the right word here :unsure: ).
Also you can have a better picture of which/how many documents are in which stage, you could have reports regarding it, and you could even allocate real work time to it. 🙂
Ok, maybe I'm just dreaming awake 😛
Maybe I'll just have to wait until v4.0 is out, and congratulate you once again :cheer:
Double approvment
Request recorded as Ticket #1115
Thanks! I'll be waiting for it :woohoo:
It seems there'll be some nice improvements around workflows in v4.0 😉
One more thing I'd like to point out:
I've already explained the workflow we use (and which is pretty common in industry), and the fact that we use two revision flows in paralell: internal (draw -> review -> approve for publishing) and external (publishing -> approve/reject by client).
We can figure this out, as you've already explained, using draft (internal) and non-draft (external).
It's common use that a letter (starting on "A") is used as revision index while the document is rejected by the customer. But once the doc gets approved by the client, the revision index changes to a number (starting on "0"). Following versions would be 1, 2...
Is this something that can be taken into account?
The complete workflow would be something like:
- vA_draft1 is created -> "done" (reviewers and one approver are defined)
- (when "done") a review ticket is automatically created for reviewers
NOTE: perhaps there should only be one ticket per doc, and all people involved should allocate their time spent on it there (thus this step would be different: instead of a review ticket there should be something else that prevents people from misplacing review activities). Not really sure which is the best solution here :unsure:
- vA_draft1 is reviewed -> "rejected" (changes are described in the corresponding field)
NOTE: in the ticket reviewers can allocate real work time for reviewing activity
- the responsible of the doc gets notified (via auto-ticket or via auto-something-else) that he/she needs to generate a new draft.
- vA_draft2 is created
- vA_draft2 is reviewed -> "reviewed"
- approver gets a new ticket/sthg else that prevents him/her from fogetting this.
- vA_draft2 is approved -> vA gets "published" (?)
- only then is the client ("external project leader") able to participate: he gets notified that a new version (vA) has been published.
NOTE: not really sure if the inner side of the process should be visible to clients. Perhaps it should be configurable through parameters (as almost anything is in Project'OrRIA 😉 )
- vA is "rejected" by the client (with comments)
...iterate...
- vB is "approved" by the client (kudos!)
- responsible gets notified and uploads new version -> v0
NOTE: from now on, new versions would be 1, 2...(automatical change of revision caption, based on the "client approved" status). This whole thing would be like a new "industry" versioning type (such as "evolutive" or "sequential").
OK, that would be all by now... I don't want to get kicked off the forum by mad babynus :whistle: (LOL!)
Cheers...! :cheer:
It's common use that a letter (starting on "A") is used as revision index while the document is rejected by the customer. But once the doc gets approved by the client, the revision index changes to a number (starting on "0"). Following versions would be 1, 2...
Is this something that can be taken into account?
No 🙁 ...
But you may use minor versionh to help
V1.0_draft1 => internal review => rejected
V1.0_draft2 => internal review => approved
V1.0 => external review => refected
V1.1_draft1 => internal review => rejected
V1.1_draft2 => internal review => approved
V1.1 => external review => approved => set version V1.1 as reference (validated version)
later, you may work on V2.0 for changes on doc...
I don't want to get kicked off the forum by mad babynus
Who's mad :silly: ?
My doctor told me I was OK, and to prove it he gave me a beautifull white shirt, with buttons in the back and very long sleeves.
Yes really a very smart shirt...
It's common use that a letter (starting on "A") is used as revision index while the document is rejected by the customer. But once the doc gets approved by the client, the revision index changes to a number (starting on "0"). Following versions would be 1, 2...
Is this something that can be taken into account?No 🙁 ...
Not even if someone filled in a proposal for evolution regarding a brand new "industrial" evolution type? :woohoo:
It could wait until v4.0 (or even 4.x), to come along with the other workflow improvements :whistle:
he gave me a beautifull white shirt, with buttons in the back and very long sleeves.
Yes really a very smart shirt...
I need to get one of those...I'd look sooo good in it B)
Not even if someone filled in a proposal for evolution regarding a brand new "industrial" evolution type?
It could wait until v4.0 (or even 4.x), to come along with the other workflow improvements
I recorded the request as Ticket #1119, for version V4.x.
The V4.x versions are not planned yet, but sure will not be deployed before 2015...
You'll have become my hero by that time o/ o/ o/
P.S.: in the meantime we'll have to settle for "manual" evolution type 🙂