Skip to main content

I was wondering if anyone has tried biulding a solution for mailroom automation with Nintex. I was given the task for creating one which includes:

  1. Register incoming mail - create a new item with a unique auto-incrementing number/string.
  2. Print the number/string to a barcode printer (barcode to be stuck onto the paper)
  3. Scan the paper to SharePoint (with the stuck barcode to be connected to the list item)
  4. Fill in additional metadata and route with a workflow.
  5. The receiver often needs to send back a reply so he must be able to create a new record/item for outgoing mail (in another list/library) which must have a "link" between them so that they are easily traceable.

The business process is not set in stone, so I am open to ideas on how you manage your incoming and outgoing (paper-based) mail.

Thank you.

Hi ,

Been there, done that. (exactly that.) It was a long and somewhat painful project. It required forms, workflows as well as a lot of code.

The most painful part was the "who has access to which document" magic algorithm. It led to breaking the privileges inheritance and I fear the moment that SharePoint will start to complain.

Let me know if I can help somehow.

Dinos


Geia sou, Dinos happy.png

I'd love to hear about your experience and maybe in process of gaining more insight we could also gain some ideas which can help both (and others). So to start with what intrigues me most - how did you realize the barcode part?

As for the unique permissions part - I agree it bothers me too. The threshold is 50K, if I'm not mistaken, and maybe a workaround would be to export the items, say on an annual basis to a separate list. Then give access to this list only to people who might need to access the archive.

Thank you in advance!

Dimiter


Hi Dimiter, (I apologize for failing to return your warm greeting in Bulgarian confused.png )

I will try to be as short and concise as possible:

  1. I used a custom Document ID implementation in order to uniquely identify a file inside a library, inside a site. So, the Document ID has this format: XXYYNNNN where XX identifies the site, YY identifies the Library and NN is the item Id

    DocumentIdProvider class documentation on msdn

    So, if somebody gives me the document id ALIN00001, I know that it was generated in site ALpha, in library INvoices and it is the 1st invoice.

  2. Let's assume that in the site there are three destination libraries, 1 for invoices (INvoices), 1 for legal documents (LEgal) and another for any remaining documents(OTher). You can also have multiple sites (ALpha, BEta, etc)
  3. Also assume that you have a separate list that is used as an interface to reserve the IDs in any of the destination libraries. When a user selects a "new list item", they have to choose a destination library. Upon saving the item a dummy file is uploaded in the library => and now you have reserved the new document ID.
  4. That document Id can be printed on a network barcode label printer (we chose GoDex, but there are plenty out there)
  5. That label can be stuck on the physical document
  6. The document can be scanned with a scanner (we chose one of your competitors I am afraid!) that recognizes the barcode. The scanner saves document and metadata (document id) in a routing library which can recognize (we use event receivers) a valid document id and will automatically move the document to the correct site and library and will overwrite the dummy file (step #3).

I hope I did not confuse you too much! We implemented this on premises, it should be possible to do on o365 but it will require more work.

Regards,

Dinos

 


Dinos, we are just starting to build this workflow (that's why it took me so long to reply) but we have an idea how to overcome the unique permissions. Our requirement might be different than yours but hopefully it gives you ideas at least happy.png 

We need to give permissions per department and to define those we will use AD groups nested within SharePoint groups. Then we will enable the feature to create folders in the list and will give permissions to each folder for a particular department. We will then move the items (by means of the workflow) to a specific folder (for the particular department) - the "Create item in another site" action allows working with folders. In the end we will modify the view so that it shows a "flat" structure (without the folders).

Thus, you break the permissions at a higher level - the folder, and for us this seems lile a much better option - 50 unique permissions vs. 8000 happy.png

Hope this helps!

Dimiter 


Breaking the permissions using folders is definitely a much better approach. 
Unfortunately our requirement was to "deliver" the documents to any combination of employees or AD groups. (eg an invoice delivered to the accounting dept and the group/user that made the purchase order).

As a solution we are planning an archiving mechanism that will keep the "active" libraries lighter.

Wishes for bug free implementations!

Dinos.


I see. If it's too dynamic then I guess there aren't many options other than item-levem permissions.

Our requirement was that departments like Procurement, Accounting or Controlling always have access to all documents. It's only the initiators that need to see their own items (by department).

Still I think you are on the right track with the archiving thing. Maybe a workflow that can copy items to another list and then delete them.

Good luck!

Dimiter


Reply