Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
mike_howles4
Active Contributor

TL;DR



  • If you are on Lumira Designer 2.0 SP02, please download updated open source extensions here.

  • If you have a new problem starting in Lumira Designer 2.0 SP02 with the components, report them on GitHub Issues here.


  • If you are on Design Studio 1.6, you can continue to use your old download link (referenced below.)


Background


Now that Lumira Designer 2.0 SP02 is GA, some of you may be trying to install the older SCN Design Studio 1.6 SDK Components that you were using in Design Studio.  For the most part, these are technically compatible without any effort.  However, there are now some subtle changes to the BI Action Language engine that have broken some things.  While I tested as much as I could during earlier betas, it is a big job to do, so inevitably I've missed some things.  I'm happy to correct anything that has been missed in Lumira Designer 2.0 going forward.

What's Been Going On?


It's been a quiet year around SCN.  I've not been as motivated to release any new features because of the looming 2.0 release, and wanting to avoid any potential additional regression/rework.  I've had some amount of "writer's block" where I've not been able to think of something new to throw together.  Also, being a Dad takes more time as kids get older.  Also I've been playing too much Overwatch 🙂

Fellow SDKer karol.kalisz has been a major contributor to the existing SDK content, however as time goes on, our priorities, roles, personal interests and professional assignments change.  As a result, he's been also noticeably absent lately.

Since Karol has previously been key in ensuring that releases do not wither into too much disrepair, it's critical that someone carry the torch to not leave anyone high and dry with Lumira Designer 2.0 regressions.

For this reason, some housekeeping changes are in order, that I am going to take on and will mention below.

Mini-FAQ:




  • New Download Link


    Instead of trying to maintain one package that can support Design Studio 1.6 and Lumira Designer 2.0, as well as just making a "clean break" in some ways from the old branding name, we have a new download link for Lumira Designer 2.0:

    Download Link

    This new download package will free us up to operate with any future SDK enhancements as a logical break from the 1.x designs.

    (Note, all extensions you had in 1.6 are still available, and will be maintained here, not the old download.)



  • Help, something stopped working in Lumira Designer 2.0!


    You're almost in the right place!  Please log any bugs in the Issues page on GitHub.  It's a better way to track issues than in blog comments on SCN.

    GitHub Issues


  • Help, I don't know what Component X does!


    Please place a comment below!  Someone else might have the same question!



If you are not an SDK developer, you need not read further, the rest of this blog is now about some technical source code changes.

New Source Code Repository


For those of you who want the Eclipse Source Code projects, I've also set up a new GitHub Repository here:

https://github.com/org-scn-design-studio-community/lumiradesignercommunityext_src

For reference, the old source code repository was here:

https://github.com/org-scn-design-studio-community/sdkpackage

The old repository will remain as-is and meant for Design Studio 1.6 only.  All new development and source code will be published in the new repository 'lumiradesignercommunityext_src'
34 Comments
former_member273659
Discoverer
0 Kudos
 

Mike, I was trying to figure out how to use the Vega chart, do you know if anyone has written anything about how to use it yet?  Also, thanks for getting this all setup and usable in 2.0.
c_sekhar_r
Discoverer
0 Kudos
Hi Mike,

Lumira Designer 2.0 SP02 Extensions link is not working. It says "No server to handle the request". Also, i am using the Lumira Designer 2.0 SP01. Will this SDK extensions work for SP01 as well?

 

Waiting for your reply.

Thanks in Advance.

 

Regards,

Chandra.
mike_howles4
Active Contributor
0 Kudos
Hi Chandra,

It looks like GitHub is having intermittent HTTP 500 issues this morning unrelated to extensions when trying to download files raw.  Try downloading again later.
hasba
Participant
0 Kudos
Hi Mike,

 

is there a Component like the UI5 MultiComboBox?

i can't currently select multiple values in a drop-down Box.

 

any Idea? thank you

BR Younes
hasba
Participant
0 Kudos
there is already one from martin.pankraz
Former Member
0 Kudos
Hi Mike,

Do you know if SAP or any other vendors hold SDK development trainings?  We have customers that have unique dashboard requirements that we couldn't find in some of the SDKs out there (i.e. we're looking at charts that could display data from calculations done in the backend or through JavaScript).  The only way to circumvent this problem is to learn how to develop some of our charts/metrics ourselves.  I was curious if you know of any formal training for SDK development?  Thanks for your input.
beat_honegger
Participant
0 Kudos
Hello Alexandra

Yes, there is a 2 day course at SAP, but still 1.x

There is liveclass course next monday (6.11.2017) in german.

WDSDK 06.11.2017 – 07.11.2017

Greeting Beat
beat_honegger
Participant
0 Kudos
 

Hello Mike

Thanks for the information.

Is there a new download for pdf "Developer Guide 2.0 SDK"

Greeting Beat
former_member276213
Active Participant
0 Kudos
Hi Mike,

In lumira designer when i have downloaded the org.scn community basics SDK, donut was not part of the  compoenents..Do we have any alternative approach to get donut in to lumira designer?



BR,

Lakshmikanth Adharapurapu
0 Kudos
Lakshmikanth,

Is there a reason why you cannot use the built-in donut chart?

Former Member
0 Kudos
Hi Mike

Thanks for the blog. We are havin issues with most of our old DesignStudio Reports after converting them. All of them are using the Component Manager. Is there a known issue and do you have any suggestions on how to try to solve this?

BR Clemens
Former Member
0 Kudos
Hi Mike

This would be the error message we receive:

BR Clemens

Message: org.mozilla.javascript.EcmaError: ReferenceError: "getComponentsFromGroup" is not defined. (CMP_MANAGER.getDataSourcesFromGroup()#3)
Stack trace: com.sap.ip.bi.zen.rt.framework.jsengine.JsEngineException: org.mozilla.javascript.EcmaError: ReferenceError: "getComponentsFromGroup" is not defined. (CMP_MANAGER.getDataSourcesFromGroup()#3)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.RhinoJsEngine.handleError(RhinoJsEngine.java:194)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.RhinoJsEngine.doRunScript(RhinoJsEngine.java:88)
at com.sap.ip.bi.zen.rt.framework.jsengine.AbstractJsEngine.runScript(AbstractJsEngine.java:12)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.RhinoJsEngine.runScriptWithErrorLogging(RhinoJsEngine.java:106)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.RhinoScriptInterpreterBialService.runScript(RhinoScriptInterpreterBialService.java:182)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.RhinoScriptInterpreterBialService.interprete(RhinoScriptInterpreterBialService.java:136)
at com.sap.ip.bi.base.command.impl.Command.interprete(Command.java:191)
at com.sap.ip.bi.webapplications.runtime.impl.page.Page.processScriptCommand(Page.java:4067)
at com.sap.ip.bi.webapplications.runtime.impl.page.Page.processCommandSequence(Page.java:3872)
at com.sap.ip.bi.webapplications.runtime.impl.page.Page.doProcessRequest(Page.java:2105)
at com.sap.ip.bi.webapplications.runtime.impl.page.Page._processRequest(Page.java:670)
at com.sap.ip.bi.webapplications.runtime.impl.page.Page.processRequest(Page.java:4332)
at com.sap.ip.bi.webapplications.runtime.impl.page.Page.processRequest(Page.java:4324)
at com.sap.ip.bi.webapplications.runtime.impl.controller.Controller.doProcessRequest(Controller.java:1241)
at com.sap.ip.bi.webapplications.runtime.impl.controller.Controller._processRequest(Controller.java:1095)
at com.sap.ip.bi.webapplications.runtime.impl.controller.Controller.processRequest(Controller.java:1061)
at com.sap.ip.bi.webapplications.runtime.impl.controller.Controller.processRequest(Controller.java:1)
at com.sap.ip.bi.server.runtime.sevice.impl.BIRuntimeServerService._handleRequest(BIRuntimeServerService.java:519)
at com.sap.ip.bi.server.runtime.sevice.impl.BIRuntimeServerService.handleRequest(BIRuntimeServerService.java:967)
at com.sap.ip.bi.server.execution.engine.runtime.LocalBIExecutionService.executeRequest(LocalBIExecutionService.java:34)
at com.sap.ip.bi.zen.rt.client.handler.designer.LocalExecutionAdapter.executeRequest(LocalExecutionAdapter.java:39)
at com.sap.ip.bi.zen.rt.client.handler.RuntimeRequestHandler.handleRequest(RuntimeRequestHandler.java:28)
at com.sap.ip.bi.zen.rt.client.handler.designer.DesignerRuntimeRequestHandler.handleRequest(DesignerRuntimeRequestHandler.java:33)
at com.sap.ip.bi.zen.rt.client.handler.MainHandler.executeBiRequest(MainHandler.java:69)
at com.sap.ip.bi.zen.rt.client.handler.MainHandler.handleRegularRequest(MainHandler.java:57)
at com.sap.ip.bi.zen.rt.client.handler.MainHandler.handleRequest(MainHandler.java:35)
at com.sap.ip.bi.zen.rt.client.handler.PathHandler.handleRequest(PathHandler.java:54)
at com.sap.ip.bi.zen.rt.client.handler.designer.DesignerPathHandler.handleRequest(DesignerPathHandler.java:56)
at com.sap.ip.bi.zen.rt.client.handler.AbstractSupportabilityHandler.handleRequest(AbstractSupportabilityHandler.java:25)
at com.sap.ip.bi.zen.rt.client.handler.AbstractFrontServlet.handleRequest(AbstractFrontServlet.java:73)
at com.sap.ip.bi.zen.rt.client.handler.AbstractFrontServlet.handleRequest(AbstractFrontServlet.java:29)
at com.sap.ip.bi.zen.rt.client.handler.AbstractFrontServlet.doPost(AbstractFrontServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at com.sap.ip.bi.zen.rt.client.handler.AbstractFrontServlet.service(AbstractFrontServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyServlet.service(HttpServiceRuntimeImpl.java:1232)
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:50)
at com.sap.ip.bi.zen.webserver.designer.ZenSessionFilter.doFilter(ZenSessionFilter.java:57)
at org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl$LegacyFilterFactory$LegacyFilter.doFilter(HttpServiceRuntimeImpl.java:1191)
at org.eclipse.equinox.http.servlet.internal.registration.FilterRegistration.doFilter(FilterRegistration.java:118)
at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:71)
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:98)
at org.eclipse.equinox.http.servlet.internal.HttpServiceRuntimeImpl.doDispatch(HttpServiceRuntimeImpl.java:372)
at org.eclipse.equinox.http.servlet.internal.servlet.ProxyServlet.service(ProxyServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:357)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:499)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:808)
Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "getComponentsFromGroup" is not defined. (CMP_MANAGER.getDataSourcesFromGroup()#3)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665)
at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3750)
at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1794)
at org.mozilla.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2188)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1308)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.CustomContextFactory.doTopCall(CustomContextFactory.java:77)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.mozilla.javascript.Context.callFunctionWithContinuations(Context.java:1172)
at org.mozilla.javascript.Context.executeScriptWithContinuations(Context.java:1139)
at com.sap.ip.bi.zen.rt.framework.jsengine.rhino.RhinoJsEngine.doRunScript(RhinoJsEngine.java:78)
... 62 more
former_member276213
Active Participant
0 Kudos
Hi Matt,

Only reason is why i did not considered using  lumira inbuilt donut is we are migrating the dasboard from design studio to lumira..In design studio we have used SDK donut and during migration donut is getting rejected because it is not supported in sapui5m mode..Migration process without SDK donut will break of scripting and we have to follow some manual corrections in the scripting...However i have resolved the issue by using lumira donut however i need to trick the donut using css on text box to adjust the donut to bit more thinner from cosmetic point of view and then i have adjusted the broken java script code which caused some manual corrections but managed :)...

 

 
mirjam_loacker2
Explorer
0 Kudos
Hello Mike

Are the SCN Lumira Designer 2.0 SDK Components also compatible with Lumira Designer 2.1?

BR Mirjam
mike_howles4
Active Contributor
0 Kudos
Yes
mirjam_loacker2
Explorer
0 Kudos
Thank's much Mike
matthias_feldle
Discoverer
0 Kudos
Hi Mike,

we are currently working in Design Studio 1.6 in some reports with the SDK Result Set Information 2.0 to be able to get the number of the rows. Now, we plan to upgrade our reports to Lumira 2.x and recognize that the Result Set Information to Count the number of rows are no more available. Is it planned to get also this feature available in SAP Lumira in the future or do you have another idea how to get the number of rows in a Standard crosstab of Lumira Designer?

Thanks in advance for your Feedback.

Best regards
Matthias
alexdc12
Participant
0 Kudos
Hi Mike

 

Would we need to install the old SDK in Lumira or would the old apps in Design studio recognise the new addon repository?
alexdc12
Participant
0 Kudos
Hi Mike

I have answered my question above! and read your post properly! 🙂

 

Next question though, upon trying to deploy the platform extensions i get a message saying do i want to overwrite the old SCN community addons which i selected yes but then receive an error that there is a duplicate entry and it cant update?

 

Could not commit object 'org.scn.community.basics' because another object with the same name and type already exists under object 'Design Studio SDK Extensions'. (FWB 00026)

 

Do i need to uninstall the old one first?

 
0 Kudos
Hi Mike

I have a requirement where I have to merge two tables into one.

Both the tables have same fields as you can see. Only difference is the filter.

Left table is showing data for the selected Period(Listbox) while the right table is displaying data for " less than or equal to" the selected Period.

The User wants to merge both datasets into one as shown in second image.

I did this by setting '0' column width to zero in Right Table.But this is not the right way as when I apply some of the global filters then number of records in both the table gets different and then this trick fails.





 

 

Is there any SDK component available for doing this??
0 Kudos
Hello Mike,

Where can I find the SCN sdk utils for Lumira 2.1?

I have set of dashboards developed in design studio 1.6 using SCN sdk. But when I try to open the same dashboards in Lumira 2.1 I get a list of error for the sdk. Please guide!

Thanks,

Rafat
0 Kudos
Hello Mike,

Good day!

I am facing issues with SCN sdk in Lumuira 2.1 Designer.

I am trying to open dashboard build in Design studio 1.6 using the following extensions:

Now when I am trying to open the dashboard in Lumira 2.1 Designer I get following error

Please let me know which SCN sdks I should download and install.

It will be a great help if you can provide me a link for the sdk.

Thanks and Regards,

Rafat

 
former_member593915
Discoverer
0 Kudos
Hi Mike,

 

I currently trying to use Calendar Visualization component however when I am trying to add it on a panel with CSS styling, I am encountering an out of memory error. As well can you please let me know on how the colors works and if you managed to add markers(symbols)?  Can you please advise if using the Calendar Visualization component I can achieve below? It is a visualization about an employees absence depending on the type of absence.



Currently using SAP Lumira Designer 2.1

Your assistance will be greatly appreciated.

 

Regards,

Sheena
alexdc12
Participant
0 Kudos
IS anybody actively updating these components?

I wanted the KPIView to be updated to UI5 mode, i tried looking at the Source code and can see some references to modes but whatever i change doesnt seem to show the component in the lists. some of the files reference that this is already UI5 compatible but i guess it needs to be UI5 M compatible.

Would really appreciate any help, even if someone can tell me where i need to change in teh source.
mike_howles4
Active Contributor
0 Kudos
Alex,

 

I think it's safe to say nobody is actively updating these components any more.  If anybody wants to modify/maintain them, they are free to do so, however those of us who authored them have moved to other assignments or areas of interest.
mike_howles4
Active Contributor
0 Kudos
The Calendar component at one time was supposed to fill that exact use case, however it was never finished due to time constraints and nobody really seemed to interested, so there wasn't any motivation to complete it.
mike_howles4
Active Contributor
Can you confirm you are not connected to a bad proxy?  These errors are not caused by the SDK components.
alexdc12
Participant
0 Kudos
such a shame, these components have been a great help in my work with Design Studio/Lumira creations.

Whats the best resources to learn how to create these? I know there is the SDK guide on the SAP website but are there any other good resources that you have used or know of? I'm sure i could pick it up given the time and more hands on examples to work through.
mike_howles4
Active Contributor
Hey Alex,

I know how you feel, however nothing (free) lasts forever, I'm afraid.  Like Karol, I've been yanked "out of retirement" from time to time by some folks out of desperation who have a project-breaking requirement that could be filled if one of the SDK components "could just do this ONE thing", etc however ongoing active maintenance takes time that I just no longer can devote actively.  It would be nice if more members of the community could have actively contributed to these components, which was the goal all along, however with the exception of a handful of members, it was mostly people downloading and using, so the "support pool" remained small.  I think we see areas where open source projects thrive, however my feeling is that this is mostly in areas outside of vendor plugins which is a quite narrow area relative to more accessible projects for hobbyists.  I think others would agree.

I'd highly recommend that if you are wanting to use these open source components, then definitely consider learning how they work and modifying them/making them your own so that you can support them longer term.  While there are plenty of ones that remain working quite well, some, especially those that are susceptible to arbitrary UI5 library changes over the years, are prone to need fixes over time.

The best resource to learn this stuff would be to go through the SDK guide examples, but also previous SCN blog posts and all the Open Source code that is now out there on GitHub (if dated in some cases, and in varying states of quality, of course.)  Fortunately, there's quite a bit of blog posts dating back to the "early days" of Design Studio 1.3 that are still mostly relevant.  Also look for a series of blog posts on SCN by David Stocker that he did a few years back that explain each line of code in the various files.
alexdc12
Participant
0 Kudos
Thanks Mike, i shall print out the SDK guide in teh first instance and go from there.

Hopefully i can try and fix the issues i see in the Components and start comitting these fixes to the github repo.

Theres life in the old dog yet!
alexdc12
Participant
0 Kudos
I fixed my first issue 🙂 I just need to understand how i fixed it!

There is some code for an OnClick event in the KPITile which only works when clicking on the chart in the Tile. If the chart is removed clicking anywhere on teh tile does nothing.

There is also an onselect event which i have not yet got to fire.

Looking at the KPIView code there is some code which i have copied and pasted into the KPITile.sj in the relevant part of the code.

/* COMPONENT SPECIFIC CODE - START(initDesignStudio)*/
that._oComponents = {};
that.attachBrowserEvent('click', function() {
if(that._linkEvent == true) {
that._linkEvent = false;
} else {
that.fireDesignStudioEvent("onClick");
}
});

Now clicking anywhere on the tile fires the onselect event.

 

What i need to understand is why was teh onClick only being fired when clicking on the chart. I will need to fix that issue or remove that code and leave my insertion.

 

The Original code for onClick was this.
contentOnPress: function (oEvent) {
var that = oEvent.getSource().__owner;

var componentId = oEvent.getSource().__specification.__techKey;

that.setClickedComponent(componentId);
that.setSelectedKey("");
that.fireDesignStudioPropertiesChangedAndEvent(["clickedComponent", "selectedKey"], "onClick");

},

Is the contentOnPress: part causing the issue?

Will reading the SDK help to answer these questions? Id rather try to figure this out then have one of you guys tell me the answer! Hints will be accepted though! 🙂
alexdc12
Participant
0 Kudos
Just looking at David Stocker blogs, i am sure i started this tutorial some time ago! glad i found it again!
0 Kudos
Hi Mike,

 

i have a question.

 

How can i dynamically change input selection for dataSource.getDataSelections()? For example:

 

dataSource.getDataSelections({"CCAWMKT": "*","(MEASURES_DIMENSION)":["00O2TMQW2SV5RPCECWNUF8YEM", "00O2TMQW2SV5RPCECWNUFE1PQ", "00O2TMQW2SV5RPCECWNUFFSXA"]});

 

I want to set dynamically the dimension "CCAWMKT" with a dimension variable but in JSON i can only set it manually. I thought to instantiate a new json but it'not allowed. Do you have some suggestion?

Thanks in advance,

 

Marco Marsico
0 Kudos
Hi Mike,

In my requirement I want to call a restful Let's say an OData service) and perform an action in my transactional system.

Support I have a dashboard which shows my business use that for certain payments we need to put on hold.

So, let's say the business user selects the payment document and press the Hold button in Lumira designer.

In the background I have a rest API maintained in the code for the button which eventually does the update in the table and returns the update.

Please suggest if it's a possible scenario using Lumira designer.

 

regards,

Rajesh
Labels in this area