I followed the instruction in the link below to extract Room objects from Revit models:
https://forge.autodesk.com/blog/new-rvt-svf-model-derivative-parameter-generates-additional-content-including-rooms-and-spaces
I made the changes as instructed and tested the sample Revit file (rac_basic_sample_project.rvt). But, still I don't see the rooms or the viewables (phases). Below is fhe request I post. Am I missing anything?
{
"input": {
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6YzQ4ZDUxNDNhMDRiNDAxNmI3ODYxY2NlMzQ2ZDkyNjdfZmFjaWxpdHlfOTUvZWIyYzMzNDgtNDAxYS00ZjQ3LTgwM2EtMjM1OGYwYmI0YjY2LnJ2dA"
},
"output": {
"destination": {
"region": "us"
},
"formats": [
{
"type": "svf",
"views": [
"3d"
],
"advanced": {
"generateMasterViews": true
}
}
]
}
}
I just tested the feature and I can see the room data:
The JSON payload seems ok, so try checking the following things:
Make sure you use the x-ads-force header (explained in the blog post you linked to); if you had already processed your Revit model before, triggering a new Model Derivative job would not do anything unless you force the translation
Try using another design (and from a newer version of Revit if possible); in my screenshot I'm using one of the official samples for Revit 2020, although I remember being able to get the room data from older samples as well
The room data is only available in certain "viewables" so make sure you're looking at the right one; for my sample project, for example, the room data is not available in the "{3D}" viewable but it is available in the "Working Drawings" viewable
Question
How to use the type "expandable" correctly?
Description
I have a batch that runs every hour and sends some stats to our slack. Each JSON output can be quite large and I'm looking for a way to have it collapsable/expandable.
I was playing with slack's BlockKit Builder in hopes that there was something of the sort, and I came across (when looking at the message errors) that there is a type called expandable.
However, there is no (?) documentation regarding it. The only thing that I know is.
It requires a blocks property
It should be a child of a blocks property
What I've tried
I went on the block builder (demo) and was able to get this to not throw any errors but there was no visual output...
{
"blocks": [
{
"type": "expandable",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Hello, Assistant to the Regional Manager Dwight! *Michael Scott* wants to know where you'd like to take the Paper Company investors to dinner tonight.\n\n *Please select a restaurant:*"
}
}
]
}
]
}
What I would like:
I would like to have a working collapsable/expandable and understand what the different properties are and how they work.
I am working on my company's Jira Service Desk project and we are having some trouble with some of our workflow automation. Currently to move an issue through the workflow from Step 1 (Waiting for support) -> Step 2 (In Progress) a comment is required to be entered by the user after clicking on the "In Progress" button to successfully move the issue to the next step.
This is working as intended but we wanted to utilize an automation rule as well that will automatically transition the issues from Step 1 to Step 2 if a comment added to an issue. The problem occurs due to the workflow validator requiring that a comment be added during the transition for the issue to move to the next status.
The good thing is that our automation plugin (Automation for Jira) does allow you to add JSON configurations to the steps within the rule. For example, I am able to add the JSON to add a comment to the rule during the transition, which is exactly what we want. But the problem here is that the comment is an external comment that is sent to the customer. We would need this comment to be an internal comment so the customer is not sent any unnecessary information when we already have users reaching out to them.
What we are trying to achieve is to have an issue in the “Waiting for Support” status, then when an internal user comments on that issue it is transitioned automatically to the next status (In Progress) using the automation rule. But due to our workflow requirements we are also needing to add an additional internal comment during that transition for the transition to be valid. Our workflow requires us to add a comment during the transition from one status to another before it will allow the status to be changed.
So far I have tried a few different things with the JSON code but I am not familiar at all with JSON and have not been able to get it figured out in how to differentiate between a public/external comment and a private/internal comment. I have gotten it to where the comment is added during the transition and then the automation runs successfully, but the problem is this comment becomes an external comment when we would need it to be internal and visible to only our service desk users.
{
"update": {
"comment": [
{
"add": {
"body": "Issue issue.key has been transitioned to the In Progress
status per automation guidelines."
}
}
]
}
}
This is the JSON code that is added at the status transition step that works. Just not 100% the right way. I am trying to somehow figure out a way to have the comment that is added be internal as opposed to external.
I was able to use the "Comment on issue" action and mimic my rule plus the additional internal comment with the "comment on issue" action. After exporting the JSON this is what I got:
I was able to create my rule with the "comment on issue" action and leave it as an internal comment. After that I exported the JSON to see what it looked like and this is what I got:
"cloud":true,
"rules":[
{
"id":188601,
"clientKey":"jira:12205936",
"name":"Incident Comment Transition ",
"state":"ENABLED",
"description":null,
"canOtherRuleTrigger":false,
"notifyOnError":"FIRSTERROR",
"authorAccountId":"5a328efd101d3439bb11039c",
"actorAccountId":"557058:f58131cb-b67d-43c7-b30d-6b58d40bd077",
"created":1559219471531,
"updated":1559221244585,
"trigger":{
"id":"3628751",
"component":"TRIGGER",
"parentId":null,
"conditionParentId":null,
"schemaVersion":1,
"type":"jira.issue.event.trigger:commented",
"value":{
"synchronous":false,
"eventKey":"jira:issue_updated",
"issueEvent":"issue_commented"
},
"children":[
],
"conditions":[
]
},
"components":[
{
"id":"3628752",
"component":"CONDITION",
"parentId":null,
"conditionParentId":null,
"schemaVersion":1,
"type":"jira.jql.condition",
"value":"assignee != empty and resolution = unresolved and status = \"waiting for support\" and issuetype=\"incident\"",
"children":[
],
"conditions":[
]
},
{
"id":"3628753",
"component":"ACTION",
"parentId":null,
"conditionParentId":null,
"schemaVersion":6,
"type":"jira.issue.transition",
"value":{
"operations":[
],
"advancedFields":"",
"sendNotifications":true,
"useLegacyRendering":false,
"transitionMode":"status",
"destinationStatus":{
"type":"ID",
"value":"3"
},
"transitionMatch":"",
"transition":null,
"ignoreConditions":false
},
"children":[
],
"conditions":[
]
},
{
"id":"3628754",
"component":"ACTION",
"parentId":null,
"conditionParentId":null,
"schemaVersion":1,
"type":"jira.issue.comment",
"value":{
"comment":"Issue {{issue.key}} has been moved to the In Progress status per automation guidelines.",
"publicComment":false,
"commentVisibility":null,
"sendNotifications":true,
"addCommentOnce":true,
"useLegacyRendering":false
},
"children":[
],
"conditions":[
]
}
],
"projects":[
{
"projectId":"10610",
"projectTypeKey":"service_desk"
}
],
"labels":[
]
}
]
Would you be able to tell me which part of this is the section that will add the internal comment? I was thinking maybe if I could just use that JSON in the "transition issue" step of the rule this may accomplish what I am trying to do.
Thanks!
I'm not sure how to do it with JSON, but you should be able to do it within their GUI.
Within the Comment on issue action, Under More options -> Service Desk you should see a check box for Share with customer.
Ref : Rule Playground
You can just create a dummy rule and export the rule to get the JSON.
PS : Their support is supposed to be very good as well.
I am unfamiliar with json code outside of making Minecraft models. I am trying to add back the old functionality of punching sheep for wool via a behavior pack for windows 10 edition. This is what I tried adding to the events section.
"minecraft:on_hurt_by_player": {
"spawn_items": { "table": "loot_tables/entities/sheep_shear.json" },
"event": "minecraft:on_sheared",
"target": "self"
},
and
"minecraft:on_hurt_by_player": {
"spawn_items": { "table": "loot_tables/entities/sheep_shear.json" },
"on_hurt_by_player"{
"event": "minecraft:on_sheared",
"target": "self"
}
},
I must be missing something. The instruction I have found is so vague and it's not like Microsoft has an open source code to scour either.
minecraft:on_hurt_by_player is not a valid trigger condition.
Vanilla does not supply this loot condition, nor anything that would approximate it, so it is unlikely that you will be able to accomplish your change without writing some Java.
I´ve already had a look at different post like this and this but nothing seems to be answered 100%.
My current problem is, that I want to visualyze - and ideally - analyze my Neo4j-Graph with a library (or software/tool).
The database-server is running on a remote (virtual) server and it seems that there is no chance to export the database to a format where I can work on with.
I´ve tried exporting the graph in a .graphml-file to import this file in Gephi, but Gephi doesn´t find the properties. Gephi-streaming with apoc-procedures and the graph-streaming plugin also does not work, because it´s a remote server (also with the tool mentioned here).
Now I´m currently testing around with Alchemy.js... So far, so good. But as it seems there´s no way to export the graph/query to the GraphJson-format?
Is there really no "easy" way to export the data?
Thanks for your help in advance!
This is how I would proceed
Run this query from the post you mentioned in the Neo4j Browser or in any bolt driver:
MATCH (a)-[r]->(b)
WITH collect(
{
source: id(a),
target: id(b),
caption: type(r)
}
) AS edges
RETURN edges
Now that you have loaded the data, you can simply download it as JSON using download button.(if you are using bolt driver ignore)
Either you manually downloaded JSON from Neo4j Browser or you are using bolt driver, you will end up with something like this.
{
"columns": [
"edges"
],
"data": [
{
"row": [
[
{
"source": 31288,
"target": 152,
"caption": "HAS_PAYMENT_METHOD"
}
]
],
"meta": [
null
],
"graph": {
"nodes": [
],
"relationships": [
]
}
}
]
Now all you have to is to filter out data.row results and you are done. Probably using bolt driver is the better choice as you have to clean up data anyway and it doesnt run into issues with returning a lots of data to the browser(it might crash).
Update: added python version
from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo4j"))
session = driver.session()
result = session.run("MATCH (a)-[r]->(b) WITH collect({source: id(a),target: id(b),caption: type(r)}) AS edges RETURN edges")
for record in result:
print(record["edges"])
Hope this helps