ArangoDB Graph Viewer Options: Label using more than one attribute - database

In Arango's Game of Thrones example dataset, they show a graph view where character nodes are labeled with two attributes: name and surname. How is this done?
Arango graph viewer example with Game of Thrones character data
The help doesn't explain it.
Graph Viewer Options
Nodes Options Menu:
Label (string): Nodes will be
labeled by this attribute. If node attribute is not found, no label will be displayed.
That makes it sound like only a single attribute can be used, yet their example shows the use of two attributes.

Luckily it's ArangoDB open source, so it's possible to achieve it and quite easily
here's quick and dirty commit adding such a functionality
to test it, not deploying it into production as it can cause unexpected security issues
clone on linux https://github.com/pavelsevcik/arangodb, cd into it, switch branch to feature/graph-viewer-config-labels--quick-and-dirty and run
cd js/apps/system/_admin/aardvark/APP
npm install
npm run grunt
mv node_modules ..
zip -r ../app.zip .
mv .. /node_modules .
then deploy created js/apps/system/_admin/aardvark/app.zip via services > add service > upload > set mount point to /aardvark
then change in url _admin/aardvark to aardvark and test it
here's Feature Request: Support of multiple attributes for displaying labels in Graph Viewer

The Graph Viewer does not support multiple attributes for displaying labels.
I took a screenshot of the graph without any labels and edited it in Paint.NET, that's the whole secret. This was for full control about the font face, size and placement. This combination was the easiest way to do it when I wrote the AQL tutorial.
Feel free to open a feature request on GitHub nonetheless.

Related

What is the best way to add translation.json file to a React app running inside docke

I am working on a react web application, which may require multi language support. I am using i18n-next which internally loads the required configuration file from specific directory based on the language selected by user.
The word or scentences that needs to be translated may increase based the screens that user going to add and also if use adds new folder, we will loading those languages into our application.
What is the best way (I mean Scallable, Easy to configure, platform provided...) to satisfy the requirement?
( :( All I can think of is mounting an external locales folder to the folder inside container.. Is that the only way.. or something else is there..)
Note: kubernetes and rancher is there to manage. Plase provide solution/suggestion around that.
Nandri.
If you can add the files from the Storage bucket to Ci/CD & add files to the docker image and manage inside it that would be one way.
Following this way might be helpful during scaling up the application and need to manage the external locales folder and anything worried.
By external local folder mean you want to use the Host path of the node what if your node is changing by Kubernetes during maintenance how will you add the files to the node each time or manage it?
If you will use the PVC you might face the issue of readwriteonce if you are scaling the replicas you require the readwritemany. Make try to create stateless containers as much as possible.
If you can create and add the directory inside the docker image and directly use it that would be perfect or else you might could use the NFS like minio or glusterFS which support the readwritemany also.

How to create a .usdz animation?

You can now convert 3D models to .usdz files (uncompressed zip archive) using Apple's command line tool bundled with Xcode 10 beta.
Example code to convert an .obj file to .usdz:
xcrun usdz_converter magnifying_glass.obj -g frame magnifying_glass.usdz
-color_map gold-basecolor.png -normal_map gold-normal.png
-roughness_map gold-roughness.png -metallic_map gold-metallic.png
The following input 3D file types are supported:
OBJ file
Single-frame Alembic (ABC) file
USD file either .usda (ascii) or .usdc (binary)
It's my understanding the OBJ file does not support animation natively.
A single-frame Alembic file won't support animation either as its a single-frame.
So I'm guessing you need to use usda file which link to a sequence of single-frame Alembic or single-frame OBJ files to generate animations.
Is there any Publicly Available documentation on how to go about this?
A usda file can use payload files to reference single-frame meshes. The example below references a Treasure Chest single-frame alembic file geometry.
#usda 1.0
def "Chest_Base" (
references = [ #./Chest.abc#</Chest_Base> ])
{
}
But I haven't found any concrete way of linking a sequence of .obj or single-framed alembic .abc files together to create say a 10-second animation.
Any help or hint would be greatly appreciated.
Edit 30th June:
I’ve now managed to animate a USDZ file. I’ve got a live demo here of a rotating gears and helicopter.
Basically, I needed to download the usd pipeline from github and build it on my mac. You can get good instructions on how to do that from here
Be warn set aside at least a couple of hours, the build itself takes about an hour.
After that i ran the animated tutorial example in the usd pipeline bundle. Step5.usda (ascii usd file) has an animation example which I followed to create my own animations using rotations.
Running this usdz command will create a simple animation of a spining top if you create the Step5.usda file following the pixar tutorial at the link above.
xcrun usdz_convertor Step5.usda animationTest.usdz
Edit 10th July 2018:
usdz also supports alembic assets (with animations).
I have now managed to get a simple animation working in usdz (using the alembic file format). However, a bone animation on a character I tried didn't work.
I exported Alembic assets with both the Blender & Modo Alembic exporters... same results.
UV materials were also not mapping correctly to the mesh. Something wrong with the uv scaling & mapping... materials come out fragmented. At this stage I don't know if this is a bug, or whether I'm not doing something wrong here. There is some discussion about this uv mapping issue on the Apple forum
Edit 8th Sept 2018:
This is a rapidly evolving area and I'm sure more ways to tackle usdz animation creation will appear over time. However, at present the best & least costly way (open source) to make transform, bone, blend-shape or morph animations usdz files is using a command-line tool hosted on GitHub called glTF2usd.
The tool can convert a glTF animation file into a usda file (the intermediary file type) for creating the usdz file. It should also support direct usdz creation shortly, negating the need to use Apples usdz_converter command line tool to go from usda -> usdz.
Only currently supports 1 animation group. Some bugs still exists regarding rotations, --use-euler-rotation handle can be used to help with smoother rotations.
I've been posting usdz animations I have been creating with the tool to an online usdz gallery www.fusionar.app
Updated: October 16, 2022
USDZ with Animation
You can easily import, animate and then export binary and ascii USD, models from Autodesk Maya 2020 | 2022 | 2023 with pre-installed Maya USD plug-in. All you need to do is to know how to animate your model in Maya (whether it's Asset Animation or Transform Animation), the rest is as easy as saying "cheese".
Read this post to find out how to unzip a USDZ model.
Read this post to find out how to zip a USDA/USDC model.
Also, simple Transform Animation for USDZ models is possible in Apple Reality Composer.
For that, just drop USDZ model into Reality Composer's scene, apply any behavior you need and then export a result as USDZ file.
However, Transform Animations are programmatically available in RealityKit.
In SceneKit, unlike RealityKit, the animation in USDZ model plays automatically, as soon as the model is loaded. In SceneKit, don't forget to activate the autoenablesDefaultLighting = true option.
USDZ Schemas
If you like Python scripting you can apply simple Transform Animations using USDZ Schemas.
FBX with Animation
After creating an animation in Maya 2020 | 2022 | 2023, bake your animation using menu:
Edit -> Keys -> Bake Simulation
After that you can alternatively export your scene as .fbx:
File –> Export All (option box) –> FBX Export (dropdown menu)
Now it's time to prepare your .fbx file for Xcode 13/12/11 using the following Terminal command:
usdzconvert ~/Desktop/model.fbx -v
If you're using Xcode 10, a command in Terminal looks like this:
xcrun usdz_converter ~/Desktop/model.fbx ~/Desktop/model.usdz -v
A detailed description of how to work with the usdzconvert command in Terminal you can see HERE.
And of course, Reality Converter is an easy way for those who prefer GUI:
Now Apple provided a much easier way to convert almost any file (I would recommend using glTF/ glb as export option in Blender):
Reality Converter
It is a simple GUI tool released in January 2021, where you drop your files onto and it will give you a usdz file. Including mesh, materials and animation. For the download you need an Apple developer account.
I had an character with a simple armature animation in .fbx file, and I used "Reality Converter" by Apple to make it into a .usdz file that contains the animation. The animation even works in "Reality Composer".
The link for Reality Converter can be found here.

Indesign real-time package for collaboration

I manage a team of designers working on Indesign.
When we work on a project, it often happens that a designer has to work on the project of another. We work with Dropbox for Business.
But when we take the work of another designer, there is often missing links and fonts.
Is there a plugin or a way to develop a plugin that would allow, when we create a new indd file (or for the protection of the same file):
Automatically create a "Links" folder and another "Document fonts" at side of the indd file
Systematically add a new link or new typography in the corresponding folder?
To simplify: each action on font or on a link, make a kind of "Indesign Package" in real time?
If this is not a solution, do you have any solutions to meet this need?
I don't know of a specific script or plugin that does this.
However, it should be possible to write a script with an eventhandler with a beforeClose event that runs certain script commands every time a user closes a document (or even every time a user adds, changes or deletes a link). At this point the script could run some copyLink commands on all the images and fonts (?) placing them all in the folders next to the document.
The whole script could be made a startup script, so it becomes active anytime any user runs InDesign.
(I'm actually not sure, if fonts can be copied so easily. Worst case scenario would be that the script would need to run some packaging command to gather the fonts somewhere, copy them over to where you need them and then delete the rest of the temporary package.)
Did you consider Creative Cloud Libraries ? They are meant to allow sharing assets within a team. Apart form that, you users would need to have a same access to the file system (a common drive letter for the network path for example).
Another solution would be to use a DAM solution so users would link files from the DAM.
Eventually, you could sure think of a script as mdomino offered.

Is it possible to customize the skin on Zeppelin?

Is it possible to customize the skin on Zeppelin? In otherwords, replace the Zeppelin logo with something else?
Yes, it is possible very much.
As you know Apache Zeppelin (incubating) is an open source project, so need just to:
clone it from github.com/apache/incubator-zeppelin
make modifications inside zeppelin-web sub-module
it is a standard Angular web-application, so you can change anything
build it
That is basically it.
There are at least 2 companies who are known to successfully follow these steps.
As already mentioned in bzz's answer: it is possible to customise the UI of zeppelin. Here are some more details:
Check out zeppelin source code (e.g. from GitHub https://github.com/apache/zeppelin ). Then:
To customize the front page (which has a "Welcome to Zeppelin" on it): edit zeppelin-web/src/app/home/home.html
To customise the navbar (which contains a small zeppelin logo and the word zeppelin): edit zeppelin-web/src/components/navbar/navbar.html
To customise the color scheme edit zeppelin-web/src/app/home/home.css
For the navbar color you need to change the entries for navbar-inverse, but many other elements (e.g. interpreter titles) use the same color.
After that you need to rebuild zeppelin mvn clean install -DskipTests (note that you may need to force reload in the browser).
See 'how to set a notebook as homepage' in the documentation.
In a notebook you can do whatever formating you like including html.

Creating dynamic content on Project page with Jenkins Plugin

I'm just getting started writing plugins for Jenkins, and I'm having trouble making much headway in the exceptionally terse documentation I've been able to find for it. The main thing I'm trying to do is generate dynamic content to place on the top-level page for a particular Project. Specifically, I want to show some content that is derived from the most recent build of the Project.
Based on the skeleton project and the HTMLPublisher plugin, I've been able to create a Publisher plugin that creates an Action with getProjectActions, and that Action has a floatingBox.jelly view, whose contents are rendered at the top of the Project page. So far, so good.
Now I want to make that content dynamic. For instance, my Publisher plugin might generate some HTML content as a post-build step, and I want to display this HTML (from the latest build) at the top of the Project page. Or (more likely), I'll want to generate some HTML based on all builds, and display that (e.g., a plot showing some some kind of "quality mesaurement" for each of the last N builds).
I'm brand new to maven and jelly, and quite new to Jenkins for that matter, so any help would be useful.
Update
I've found that I can use ${it} inside my jelly scripts to access the Project object, but can I then access my Publisher instance from there, in order to invoke some methods on it to generate the content?
The only thing I've come up with so far is to iterate over the list of publishers provided by getPublishersList() on the Project object, and look for one whose class name matches my class. I can't find a way to do instanceof in jelly script.
<j:forEach items="${it.publishersList}" var="pub">
<j:if test='${pub.class.name == "com.example.myPluginName.myPublisherClassName"}'>
<!-- ${pub} is my Publisher instance, I can now invoke methods on it. -->
</j:if>
</j:forEach>
Alternatively, if you use jobMain.jelly instead of floatingBox.jelly, in that case ${it} is the Action itself.

Resources