RedHawk Building Blocks - redhawksdr

The GitHub repository has what appears to be a number of building blocks useful for developers but most have little or no description of their function in the README.md or other files (that I can find). Is there any documentation anywhere else. Other than guessing from the package title, how do I learn what they do?

The description for the components and their functionality can be found in each component's SPD file between the <description> and </description> tags

Related

Recommended way to find out what Liferay module provides a class

In my Liferay module, I want to use Liferay's SomeConvenientClass.
What is the recommended way to find out what module provides that class?
So that I can quickly add it to my build.gradle.
Ideally it should either:
return the module's group/name/version,
or say with certitude that this class does not exist in Liferay or is not exported.
Until now I go by trial-and-error and copy/paste from build.gradle files found in the wild, but I am looking for a more reliable method.
I have Liferay installed, and the source code of the exact same Liferay version, if that helps.
I tried mvnrepository but it does not seem to return anything, example: https://mvnrepository.com/search?q=AuditMessageProcessor
Have you tried http://search.maven.org/#advancedsearch ?
For example:
http://search.maven.org/#search|ga|1|c:"AuditMessageProcessor"
This is more an option than a real thing, but this is how I normally do:
be familiar with package naming conventions used by liferay and
inside apps: api, service, web...
be familiar with the bundle structure used by liferay, as their
use of resource folders, which are not so obvious sometimes...
With that in mind, normally on github is enough to navigate: portal->(kernel/impl/services/apps)->app service/api/web...
But this is a natural process that comes when you spend your day inside the code.
Normally, online jar locators help, but quite often I just rely on my IDE.
On my IDE I have all set-up with Spring dependency management, after I extracted the dependencies using Gogo shell with a running bundle. With Gogo you will not find classes, but modules and packs will be listed. (Gogo is probably what you are looking for btw, as it is able to list with version numbers)
Bottom line, if you need a list as a picture of a running environment, use Gogo.
With regards to the master code, just do not trust it! When it comes to modularity and bundles versioning Liferay is pretty messy (read The dependency management problem here: https://www.e-systems.tech/blog/-/blogs/liferay-digital-experience-platform-review-7-0-ga4).
For your step 7, you will need to chose an api version and code against it. The apis are more stable. You can impose a limit for compatibility on you bnd file, which will cause the system to issue warnings. On your environment, you can catch api changes earlier, let's say, you can ask gradle to use a module with an version number but any patch (using the "+" sing), when you build with a fresh cache or if you change gradle resolution strategy to download you dependencies more frequently, if the build breaks, well, you will see it.
Helpful start point: https://dev.liferay.com/pt/develop/reference/-/knowledge_base/7-0/using-the-felix-gogo-shell
This is how I do, it is slow and manual, so don't hesitate to suggest other methods.
Download Liferay's source code if you don't have it already.
Run find . -name SomeConvenientClass.java. If nothing is found, you can be sure the class is not part of Liferay.
In the path to the class, find the src folder level, and go just under that, so for instance if it is modules/apps/collaboration/document-library/document-library-web/src/main/java/com/liferay/document/library/web/portlet/action/DLViewMVCRenderCommand.java then go to modules/apps/collaboration/document-library/document-library-web/.
Hopefully there is a bnd.bnd file there, open it.
If the package of the class is not in the Export-Package section, then either give up (duplicate Liferay's code into your module), or use some dark tricks. If you believe the class should be exported, you can explain your case at https://issues.liferay.com/browse/LPS-70480 for future generations to enjoy.
Module name is the value of Bundle-SymbolicName.
Version is the value of Bundle-Version.
Group is probably com.liferay, although sometimes it is com.liferay.portal, not sure how to tell.
Build. Sometimes it fails because Maven repositories are missing a version, for instance com.liferay.document.library.web 1.0.11 is not available despite being used by DXP fix pack 30. Not sure what to do in such cases except choosing a "similar" version and hoping for the best.

Content assist in Domino Designer - extension library

I'm new in xpages development and I'm facing this issue.
I have installed the updateSiteOpenNTF-designer.zip from ExtensionLibraryOpenNTF-901v00_13.20150611-0803 release.
When working on xpage in the source view I'm getting only <xp:this...> tags as suggestions via Content assist.
But it would be much helpful to have all possible <xp:..> tags included in the Content assist, like '', <xp:eventHandler...>, etc.
Within the Extension library there is documentation with all these possible tags in html format. My question is:
is there a way to transform this documentation into another format (i guess xml) and included it somehow into Content assist of Domino Designer?
I'm using Domino Designer 9.0 which is based on Eclipse.
Thank you very much for any useful answer.
See this question Is there a DTD for XPage source?.
To elaborate, the xp:... tags are core components, not part of the Extension Library. Those tags all start xe:.... It will probably need some kind of xml schema documentation to be created and for you to point to. I did something similar for themes https://github.com/paulswithers/xpages_theme_dtd. Creating the schema for that was not particularly challenging, but there will be more elements and attributes for this. I don't believe anyone has created a schema up until now, and I don't think it's something that can be auto-created from Javadoc documentation (which is available on the web).
Once available, you might need to remove the dtd specification at the top before compiling, as you do for themes.

Is there a changelog for JAGS?

Is there a history of changes for JAGS? I've been looking around the JAGS homepage and sourceforge and found nothing.
There is no changelog on web or in the release, one must look directly into the source code:
http://sourceforge.net/p/mcmc-jags/code-0/ci/default/tree/NEWS

How to add read aloud narration in epub3 developed for iBook

I was searching any way to include audio with text highlighting in an ebook I developed for iBooks which is an epub3 .
I know I can do this but I am unable to find any example of how to implement this functionality in epub3 specifically for iBooks, I've searched alot but didnt find any solution yet.
I was successfull in developing a fixed-layout epub3 with the help of following link: http://authoradventures.blogspot.com/2012/01/how-to-create-fixed-layout-ibooks-part_24.html
Any link to start with or any example of how to add this audio and text syncing functionality would be great . Need experts opinion on it.
Thank you all for any help.
First of all, the whole process is described in the iBooks Asset Guide, section "Read Aloud Books".
Second, note that SMIL/Media Overlay is supported by iBooks ONLY for Fixed Layout ebooks. No official support for reflowable ebooks. (See also: https://github.com/pettarin/rb_smil_emulator )
Basically, you need to do the following:
Assign an id to each XHTML element (usually, a text fragment, either a <p> or a <span>)
Create the SMIL file, associating each id from step 1 with a time interval of the associated audio file, containing the narration of the corresponding text (this is the time-consuming part)
Embed the SMIL file into your EPUB3 container, and add it to the OPF manifest
The Media Overlay specification is at http://www.idpf.org/epub/30/spec/epub30-mediaoverlays.html
You might want to start by looking at some samples:
FXL samples:
http://www.pubcoder.com/en/download/ (download sample EPUB, look for the page "Readaloud")
http://azardi.infogridpacific.com/resources.html (several FXL samples)
Reflowable samples:
https://readbeyond.it/ebooks.html
http://azardi.infogridpacific.com/resources.html (look for "A Christmas Carol")
EDIT: full disclosure: I am the Head of R&D at ReadBeyond.

XML Schema format file: pain.008.002.02

Has anyone ever run across pain.008.002.02 format? It is an ISO standard used in Germany used for direct debit transactions. The problem I have is that although I had found documentation that talks about it, I did not actually find the XML Schema (pain.008.002.02.xsd) for it, which would be very useful in generating java bindings. Otherwise I will need to do this manually, which is simply hell. Does anyone know where I could find it? Its not on the ISO page with all the other formats. If the file has to be bought (I run in to places which could point to this), such information would also be very useful.
After hours and hours of searching, I found it in the ebics archive:
http://www.ebics.de/index.php?id=77 at the bottom of the page "Anlage3_Archiv_V2_5.zip"
Ebics is the official "Electronic Banking Internet Communication Standard" from the Deutsche Kreditwirtschaft.
I would download the SEPA Explorer, install it and then look in the install folder (SEPAExplorerV2\XSDFiles) for what you need (pain.008.002.02.xsd is in there).
Already generated Java bindings for the XSD you're looking for are in the Open Banking Tools (LGPL) here.

Resources