Content Integration Task - delete documents from IBM BPM integrated Document Store - ibm-bpm

I have a simple process that creates a document using a "Content Integration Task" into the IBM BPM Document Store.
"before" this task, I need to "delete" all the previous versions of the document created (created from the already concluded instances of this process). If i run the process 10 times, I will have 10 documents (the same document with different version number). What i need to do is delete all versions of the same document before the new document created.
Below, the mapping of my "document creation" task (the image below can be more descriptive).
Data mapping:
"IBM_BPM_Document" ==> Object type ID (ECMID)
"/" ==> Folder ID (ECMID)
"elencoarticoli" ==> Name (String)
"major" ==> Versioning state (String)
tw.local.prop ==> Properties (List of ECMProperty)
Below, the image that depicts the whole process:
Any suggestion?

You will need to have the previous document IDs before starting to delete.
Maybe you could try to persist the output value of your "document creation" task, then all you have to do is to create a new instance of the same "Content Integration Task" but with "Delete document" as the operation name instead of "Create document".
If persist the IDs is not a option, maybe you could search for the previous IDs using a "Content Integration Task" setting with "Search", passing the documents properties for it. This will work if those properties unique indentify those documents.

Related

Scraper to Database visualiser connector

I'm using Dexi.io to scrape some data that outputs to Google Drive as a CSV, that gets parsed (through a Google sheets script) and added to a Native sheet (all automatically).
I'd like to push my data (automatically) to a "database Visualizer" of some sort (using knack.com currently) that allows me to display the data (in Table format) with some options to filter, sort and dig deeper; all protected by login creds that I manage.
I tried using Zapier to automate the Google Sheets to Knack integration, but Knack only has an option to "Create New Records" through Zapier and not "Update Records". (Updating records exists as an API endpoint)
I need help proceeding as I'm not a developer and am starting to hit the limits of my capabilities.
Could someone please recommend a tool (that integrates with Sheets, updates data periodically and lets me control the domain and login creds) or the optimal way to proceed with this? (I'd gladly hire a freelancer to help me build this out optimally)
Some more, potentially relevant, info: Dexi.io can output through FTP, Drive, Box or Amazon S3 (remember, not a dev :$)
kintone is a "database Visualizer" similar to Knack, and they have actions to update records.
https://zapier.com/zapbook/kintone/
There are two options to update records as there are two ways in which the unique key can be defined.
Each record in kintone has a "Record ID" associated with it - this is an autonumber made by kintone. You can specify this as the key to update, in which case you would use the "Update Record By Record ID" action.
If you would prefer though to set your own unique key and use that as the key to update, you can define that unique key in your database (I guess the data you are scraping has its own ID for each record). In this case, you can place a "Text (single-line)" field in your database, open up the options and select "Prohibit duplicate values" which will make this field into a unique field - meaning that no two records can hold the same value.
Once you set that field up (and update your kintone App settings), you can select this field to be the unique key to update for the "Update Record By Update Key" Action (the "Update Key" in the action name is referring to the unique key that you just made).
And yes, kintone gives you control over login creds, and each login cred can have different view/add/edit permissions over each record you have in your app.
You can also set a custom subdomain name, but the domain name will have to be kintone.com i.e. you can have a https:/ /mycustomname.kintone.com sort of name.
Hope this helps.

Alfresco activiti workflow

Is it possible to view an already filled form in a review step ? I have created a simple workflow, where the process starts with the user filling in a form. The filled form gets assigned to another user(lets call the user ABC) for reviewing. Is it possible for ABC to view the form filled by the user ? I am using the kickstart app to create a business process model.
You will have to copy the variables from the task with "fill form", to the task with the "review form", via the workflow Executioncontext. The var names in activiti (my_property) are then mapped to the var names in the alfresco content model/share forms (my:property) (but by substituting the ":" sign to a "_" sign).
You can do the copying of vars between tasks using TaskListeners in your bpmn2.0 file. See more here http://docs.alfresco.com/5.1/concepts/wf-process-def-listeners.html
The gui from Activiti kickstart (AFAIK) is too limited to do this for you.
When you want to assign a prefilled form for review to next stage in workflow process, you can use the form field called "Display Value".
Add the 'Display value' from the form field options. Press 'Pencil' icon to update the display value.
From the dropdown list, select the form field values that is to be displayed in the review form.
Display Value Activiti

Add custom states for test runs in Quality Center

How do I add my own states in test runs? The default states are:
Passed, Failed, Blocked, N/A, Not Completed, No Run
I want to add e g "Passed with Failures".
If you have the correct permissions you can go to Tools -> Customize... to reach the Project Customization menu. From there go to Project Lists -> Status to view the list of existing statuses and to use New Item to add new statuses to the list.
You can tell which project list to look at for a given field by going to the field in Project Entities. In this case it is Project Entities -> Test Instance -> System Fields -> Status which then shows you the lookup list "Status". You could also use the Goto List button to jump directly to the linked project list.

How to model Not In query in Couch DB [duplicate]

Folks, I was wondering what is the best way to model document and/or map functions that allows me "Not Equals" queries.
For example, my documents are:
1. { name : 'George' }
2. { name : 'Carlin' }
I want to trigger a query that returns every documents where name not equals 'John'.
Note: I don't have all possible names before hand. So the parameters in query can be any random text like 'John' in my example.
In short: there is no easy solution.
You have four options:
sending a multi range query
filter the view response with a server-side list function
using a CouchDB plugin
use the mango query language
sending a multi range query
You can request the view with two ranges defined by startkey and endkey. You have to choose the range so, that the key John is not requested.
Unfortunately you have to find the commit request that somewhere exists and compile your CouchDB with it. Its not included in the official source.
filter the view response with a server-side list function
Its not recommended but you can use a list function and ignore the row with the key John in your response. Its like you will do it with a JavaScript array.
using a CouchDB plugin
Create an additional index with e.g. couchdb-lucene. The lucene server has such query capabilities.
use the "mango" query language
Its included in the CouchDB 2.0 developer preview. Not ready for production but will be definitely included in the stable release.

Can you create a joined view from task list and related content?

I'm trying to create a view of approval tasks that also includes a column from the related form library. I have tried creating a linked data source between the tasks list and the form library, but have trouble finding much information on creating linked views with the task list.
I have tried:
http://deannaschneider.wordpress.com/2012/07/25/joining-the-task-list-with-related-content-in-a-dvwp/
without luck - it just tells me "there are no items to show in this view." which I assume means it couldn't be joined correctly with the specified table.
I am using the standard approval workflow.
Here is the closest solution I've found so far
1.) Create task form fields in SharePoint designer.
2.) Go into Approval(1) to add the task form fields.
3.) Click 'Change the behavior of a single task'. Add 'Set task field' action in the Before a task is assigned section to set the task form fields to get the value of Current Item:ID.
4.) Use the new task field to create your subview on your linked datasource
While not optimal - and it created me many different problems - I was able to create the view desired.
Hopefully someone will come up with a better solution.

Resources