We want to share our latest insights regarding formal methods and requirements as well as the latest developments regarding our OpenSource tools, ProB and ProR. We will post new information roughly twice a month, so you won't be overwhelmed. You can either subscribe via email (below), subsribe to our RSS Feed or visit this page.
Rich text support for ProR
Submitted by Michael Jastram on Thu, 08/02/2012 - 09:29
The ReqIF standard supports rich text, as do most professional requirements tools. ProR, so far, did not support it. Currently, ProR takes advantage of the "simplified" flag in ReqIF which allows tools to indicate that they don't support rich text. This was a temporary workaround, but obviously real rich text support is crucial for ProR to gain acceptance.
We are delighted to announce that the first prototype of rich text support is now available. There are a few caveats: This feature relies on non-Eclipse libraries, and can therefore not be part of the core RMF; second, this is work in progress, use at your own risk.
Installing Rich Text Support
Once downloaded, you need to install ProR Essentials, a suite of free extensions to ProR, provided by Formal Mind. To install these:
- In ProR, navigate to Help | Install new Software...
- You need to add a new update site to ProR. You can paste the following URL directly in the "Work with:" field:
- Check the box "ProR Essentials" (do not check "Rodin Integration", as Eclipse will not be able to resolve all dependencies. To learn about the Rodin Integration, please see the ProR-Rodin integration documentation).
- Complete the installation by clicking Next and acknowledging all questions.
Using Rich Text Support
Important: Please note that the default mechanism for rich text is still the one that is built in. You have to explicitly activate rich text support per data type.
To demonstrate the feature, we will create a new ReqIF document and add a new Attribute of type XHTML:
- Create a new Project (e.g. File | New | Project... | General | Project)
- Create a new ReqIF Document in that project (e.g. File | New | Reqif10 Model)
- Open the Datatype Configuration Dialog (ProR | Datatype Configuration)
- Create a new XHTML Datatype (right-click on Datatypes | New Child | Datatype Definition XHTML)
- Set the name of the new element to "T_XHTML"
- Create a new Attribute Definition for "Requirements Type" (open the "SpecType" tree, right-click on "Requirements Type" | New Child | Attribute Definition XHTML)
- Set "Long Name" to "Rich Text"
- Set Type to "T_XHTML"
At this point, the dialog should look as on the screenshot to the right:
No to see the XHTML support in action:
- Open the Specification by double clicking on it (e.g. on "Requirements Document")
- Select the first row
- In the Properties view, there should be (amongst others) two attributes, "Description" and "Rich Text"
- You can already edit both but note that the rich text support is not enabled yet. To enable it, we activate the new presentation as follows:
- Go to the presentation dialog (ProR | Presentation Configuration)
- From the "Select Action..." dropdown, select "Rtf"
- Select the newly created entry "Xhtml RTF Presentation" and select "T_XHTML" as the datatype
Now the presentation is activated! Try it out by double clicking on the "Rich Text" attribute in the properties field. You should see the rich text editor, as shown below. Play around with it.
And last, of courses it is possible to use the editor directly in the specification view. To do so, first add a new column:
- Open ProR | Column Configuration
- Press "Add Column"
- Give the new column the name "Rich Text"
- Close the dialog
At this point, the rich content should be displayed directly in the specification view, as shown to the right. If you double click on the cell (or hit "enter", when selected), the rich text editor will pop up.
Please note that this is beta software, and that we are still aware of a few issues with the editor. Nevertheless, we believe that this is already a huge step forward and hope that the feature is useful to you. Please don't hesitate to contact us with feedback.