Records spanning over multiple lines in graphviz - visualization

I am trying to visualize a rather complex structure in the dot language.
Because the record is big, I would like to write the code in mulitple lines. So instead of:
A11[label="A.11 Access Control|{A.11.1 Business requirements for access control|A.11.2 User access management}|{A.11.3 User responsibilities|A.11.4 Network access control}|{A.11.5 Operating System access control|A.11.6 Application & information access control}|A.11.7 Mobile computing & teleworking"];
I would like to enter it somewhat like this
A11[label="A.11 Access Control|
{A.11.1 Business requirements for access control|A.11.2 User access management}|
{A.11.3 User responsibilities|A.11.4 Network access control}|
{A.11.5 Operating System access control|A.11.6 Application & information access control}|
A.11.7 Mobile computing & teleworking"];
Unfortunately the parser for dot complains about a "string running past line end" or something alike. Does anyone know how to denote a linebreak in the code? I tried a \ at the end of the line, but it didn't seem to work.
thanks in advance

I am guessing you want something like this:
graph G{
A11[label="A.11 Access Control|\n\
{A.11.1 Business requirements for access control|A.11.2 User access management}|\n\
{A.11.3 User responsibilities|A.11.4 Network access control}|\n\
{A.11.5 Operating System access control|A.11.6 Application & information access control}|\n\
A.11.7 Mobile computing & teleworking"];
}
You can also do like
label = "line1\n" +
"line2\n" + ...

Related

IBM i Access Client Solutions - Printer Output but using an API

I want to replicate the functionality of the IBM i Access Client Solutions "Printer Output" tool that is used to retrieve PDF's of spooled files from our IBM Db2 environment. Instead of a user interface, I want to replicate the functionality as an API.
I want to construct an API which takes inputs such as the filter parameters pictured below:
The output of the API would be PDF(s) of the printer output spooled files that match the parameters specified.
I figure that if I am able to access the i Access Printer Output tool, then I should be able to use my credentials to access the spool files using an API or something like that.
Where would I start in constructing something like this?
Also, are there any IBM guides that contain relevant information? I have looked but been unsuccessful. The Programmer's Toolkit is, also, not available with my version of i Access.
Also, I don't have developer roles, so if this is possible, it would need to be something that I can do with little authority within the IBM i servers and the Access client.
First off, IBM ACS is Java based. Thus everything it does can be found in the IBM Toolbox for Java, aka JTOpen aka JT400.
http://jt400.sourceforge.net/
Documentation https://www.ibm.com/docs/en/i/7.4?topic=java-toolbox
You're going to want to look at the reading a transformed spool file example
The transformation actually happens on the IBM i side, by specifying the appropriate workstation customization object, QCTXPDF in this case rather than the examples original QWPTIFFG4
// The following examples demonstrate how to set up a PrintParameterList to
// obtain different transformations when reading spooled file data. In the code
// segments that follow, assume a spooled file already exists on a server, and
// the createSpooledFile() method creates an instance of the SpooledFile class
// representing the spooled file.
// Create a spooled file
SpooledFile splF = createSpooledFile();
// Set up print parameter list
PrintParameterList printParms = new PrintParameterList();
printParms.setParameter(PrintObject.ATTR_WORKSTATION_CUST_OBJECT, "/QSYS.LIB/QCTXPDF.WSCST");
printParms.setParameter(PrintObject.ATTR_MFGTYPE, "*WSCST");
// Create a transformed input stream from the spooled file
PrintObjectTransformedInputStream is = splF.getTransformedInputStream(printParms);

Why do I get different data over Local Server?

I use now persistenceMapperWEBAPIClient1 as PersistentMapper with default Uri http://localhost:5000/api/A0_WebApi and default User: a/Password: 123456
While prototyping on Local Server I have saved some data for the same(default) user.
Now I start my application with persistenceMapperWEBAPIClient1 as PersistentMapper, but I get no data. So it seems I access quite different data from prototype and from my application. Is it a thing of prefix perhaps? But I use the same user in both cases
/Efim
That is the answer of Hans:
The turnkey application can either go in prototype mode - then it saves to a xml file named as the model - controlled by App_Data/MDrivenServerOverride.xml
...or it can connect to an MDriverServer in one of two ways:
MDrivenServer is found relative to TurnkeyApp ./__MDrivenServer and user and pwd taken from App_Data/TurnkeySettings.xml
MDrivenServer is found from setting in App_Data/MDrivenServerOverride.xml :
http://localhost:5010/
https://wiki.mdriven.net/index.php/MDrivenServerOverride
/Hans

Windows Defender to find localization numeric value for Reporting

i need to create some SSRS reports For Windows Defender .. i need to find localization numeric values for Detection source
Detection Source: <Detection source> for example:
User: user initiated
System: system initiated
Real-time: real-time component initiated
IOAV: IE Downloads and Outlook Express Attachments initiated
NIS: Network inspection system
IEPROTECT: IE - IExtensionValidation; this protects against malicious webpage controls
Early Launch Antimalware (ELAM). This includes malware detected by the boot sequence
Remote attestation
Reference link enter link description here
i need to select in case so i need to know numeric values for each of option.
one thing is can use
SrsResources.Localization.GetString(Choose(Fields!DetectionSource.Value,"DetectionByUser","System","Realtime","IOAV","NIS","BHO","ELAM","LocalAttestation","RemoteAttestation","AMSI","UAC"), User!Language)
but then i dont have acces to Visual Studio as iam database person.. so cant create DLL and include in reference of report.
Please help me out how to find numeric values to each one of these.
From the statement SrsResources.Localization.GetString, I am guessing that you're using SCCM since that exact statement is part of the SCCM report:
Endpoint Protection -> Endpoint Protection - Hidden -> Computer malware list
If that's the case, then just copy the report and change what you need and the function will work.
Because in the report properties the srsresources.dll is referenced as SrsResources, culture=neutral, the dll is needed in order to translate the value to the correct name in the language the user running the report is using.
If you're just interested in the numeric values behind each entry, however, then it is just a list starting with one. Meaning:
"DetectionByUser",
“System",
“Realtime",
“IOAV",
"NIS",
"BHO",
"ELAM",
“LocalAttestation",
"RemoteAttestation",
"AMSI",
"UAC"

IBM Chatbot Assistant - Array with same values

I have this piece of code in JSON editor of Watson:
"context": {
"array": "<? entities['spare_part'].![literal] ?>",
"array_size": "<?$array.size() ?>"
When the input of the user, for example, is "Hello, I need a valve, and the part number of the valve is 1234", the size of the array ends up being 2 since the user mentions the word "valve" twice in his input. Some nodes are being executed depending on size of the array. For instance if the size of the array is 1, some nodes will be ignored because they are only executed only if the size of the array is 2.
I want the array to store only the inputs with different values, which is basically I don`t want the array to store the values of the same type, in my case 2 valves. If it is possible somehow please show me a way.
All that can be done, but the best approach depends on the overall system architecture. Remember that Watson Assistant is a conversation service, not a data processing platform...
You can process JSON in either Watson Assistant directly using the built-in methods and SpEL, see these links to get started:
- https://console.bluemix.net/docs/services/conversation/expression-language.html#expressions-for-accessing-objects
- http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html
- https://console.bluemix.net/docs/services/conversation/dialog-methods.html#expression-language-methods
That would require some coding within the dialog nodes. It could be ok. What I would recommend is to either process in your app that drives the dialog (you need that app anyway) or to code up small server actions to transform data.
If it is the word you are looking for, you can use contextual entities to train for this.
As an example I created the following intent (along with general intents from catalog).
For each example I highlighted the "valve" word that is the one I am interested in, and added to the entity.
Now when I test it I get the following.
All this was done in a couple of minutes. For production level you may want to add more examples, or think about how you want to annotate.

What may be an efficient way to judge whether a user stays on the same domain while browsing (using a Firefox extension)?

While browsing a website, say www.example.com, it is possible that the user enters some subdomain say www.sub.example.com
But the base webdomain remains the same.
In my firefox extension, I need to develop a "session" which remains active until a user remains on the same domain.
A simple solution would be to extract the domain from the url first. Then split the string with "." as token. Thus, we get sub and example for the second case and just example for the second case. I can then compare both. If any are equal, I deduce that the domains are same.
Though this might work, this seems more like a hack and might be prone to false positives/negatives.
Is there a more efficient / cleaner solution to the same problem?
Info: I am using GWT to build the extension
You should use nsIEffectiveTLDService, it will handle things like sub.example.co.uk correctly. You can pass an nsIURI instance to nsIEffectiveTLDService.getBaseDomain(), aAdditionalParts parameter should be zero. For http://sub.example.co.uk/foo you will get example.co.uk back - the actual "domain" part. Then you can simply compare the domain names for two URLs.