cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

We are happy to announce the new Windchill Customization board! Learn more.

How can I make a document expire after a period of time?

tgudobba
14-Alexandrite

How can I make a document expire after a period of time?

I want to store a file in Windchill & have it only be valid for 12 months. After eleven months I want to have an email reminder sent to renew this document. Can I accomplish this with out of the box functionality? Utilizing subscriptions? workflows?

1 ACCEPTED SOLUTION

Accepted Solutions
bsindelar
6-Contributor
(To:tgudobba)

I think it depends on what you mean by "expire".  Assuming you just want this document to stay in Windchill, but have users not be able to see it or do anything with it if it expires (except for admins), there may be multiple ways to tackle this.

Off the top of my head I would try making a separate doc type, to get a separate life cycle and workflow, and call it with a separate OIR.  While object is in the initial state (say, In Work), the doc can be prepared, etc.  Once the doc is ready to be "active", do a set state to the next state (i.e. Released), and have THAT zstate be the trigger to kick off a workflow.

The workflow could do three things in parallel

  1. Put a workflow task to a user that is used to "renew" the object or "deactivate" it, with those two routing options.  "Renew" will essentially reset the two timers (mentioned below), and loop back to this same workflow task to remain dormant until next time.  "Deactivate" can set the object to a 3rd lifecycle state (i.e. Inactive).  Workflow ends.
  2. Kick off a timer bot (Timer1) for 335 days.  After this timer is up, go to an e-mail bot to send a message and then to ground.  Timer2 remains active.
  3. Kick off a timer bot (Timer2) for 365 days.  After this timer is up, go to essentially the same route as "deactivate", which removes the workflow task.

You can then configure ACLs to the life cycle states accordingly to block access to Inactive objects.  The nice thing about this method is that you could always reactivate a deactivated object by setting the state back to Released (most likely from up-revising to In Work first, updating the object, then a set state).  There may be better/more efficient ways or tools/elements to use, but this is the first thing that comes to my mind within the OOTB realm.

View solution in original post

6 REPLIES 6
syadala
5-Regular Member
(To:tgudobba)

Yes it is possible. I have done workflow customization to send a email to the creator based on the time limit set in a task.

syadala
5-Regular Member
(To:syadala)

Well. Let me clarify. I have developed a functionality that the creator gets a task after say 200 days of approval to review the document so that he can update the document. this only happens till the document is obsoleted.

bsindelar
6-Contributor
(To:tgudobba)

I think it depends on what you mean by "expire".  Assuming you just want this document to stay in Windchill, but have users not be able to see it or do anything with it if it expires (except for admins), there may be multiple ways to tackle this.

Off the top of my head I would try making a separate doc type, to get a separate life cycle and workflow, and call it with a separate OIR.  While object is in the initial state (say, In Work), the doc can be prepared, etc.  Once the doc is ready to be "active", do a set state to the next state (i.e. Released), and have THAT zstate be the trigger to kick off a workflow.

The workflow could do three things in parallel

  1. Put a workflow task to a user that is used to "renew" the object or "deactivate" it, with those two routing options.  "Renew" will essentially reset the two timers (mentioned below), and loop back to this same workflow task to remain dormant until next time.  "Deactivate" can set the object to a 3rd lifecycle state (i.e. Inactive).  Workflow ends.
  2. Kick off a timer bot (Timer1) for 335 days.  After this timer is up, go to an e-mail bot to send a message and then to ground.  Timer2 remains active.
  3. Kick off a timer bot (Timer2) for 365 days.  After this timer is up, go to essentially the same route as "deactivate", which removes the workflow task.

You can then configure ACLs to the life cycle states accordingly to block access to Inactive objects.  The nice thing about this method is that you could always reactivate a deactivated object by setting the state back to Released (most likely from up-revising to In Work first, updating the object, then a set state).  There may be better/more efficient ways or tools/elements to use, but this is the first thing that comes to my mind within the OOTB realm.

kpritchard
4-Participant
(To:tgudobba)

Maybe consider applying Effective Date to the Document and running a scheduled Report (data monitor) to identify any Documents with the End Effective Date within 1 month.  You would use this as a trigger to reaffirm the Document by either Revising or by extending the Effective Date range by an additional period (+12 months)

This would allow you to use Change Management Objects rather than Advanced Lifecyle with workflow applied to the Document.  An additional benefit of using Change Management is that you can "process" multiple documents together with a single workflow running on the Change Task, whereas individual Document workflows need to be processed individually  It may not be justified, but I get a little concerned about workflows that never close and long running timers in terms of imapct on performace - full disclosure here I have no basis for this concern other than gut feel.

You can't use Effective Date in ACL's but you could in a Saved Search (and probably Table Views, but I would need to confirm this)

LoriSood
22-Sapphire II
(To:tgudobba)

Tim,

It looks like you've gotten a lot of good responses here. I also agree that workflow and/or effectivity date would be the easiest way to go. Do either of these routes get you what you need?

tgudobba
14-Alexandrite
(To:tgudobba)

Thanks everyone, based on the responses, we think the workflow suggestion by Bob will work best for our needs.

Top Tags