What are the steps to create and use custom themes in OpenUI5 without SAP license? - sapui5

I am looking for steps (end to end) on how to create and use custom theme in custom OpenUI5 apps.
I have looked at the OpenUI5 code in GitHub and it is still a bit not clear for me as far as the end to end process goes.
Here's what I have understood so far
Each control has its own *.less file for each theme and there is base.less with the color definitions.
A grunt task loops through the LESS files and generates one common library.css for each library (sap.ui.core, sap.m, etc..)
Add the CSS in the resources folder as shown here
Is this correct, or am I missing a way to create custom themes without any SAP software license?
I think the "UI Theme Designer" needs SAP software to be installed. I am looking for something not linked with the SAP environment.

Related

MUI and Adobe XD integration

I would like to implement the flow of work like that:
Designers manage the styles and the way our components look via Adobe XD
Then it gets exported to some repository as React components library with our styles exported from Adobe on top of the MUI
We use this library in our developemnt
Every time the design is updated we just update the library
We build a budle and it runs in production
Do you know if there's a service or a plugin that enables this flow?
I addressed MUI support to know if this plugin makes it work but got no feedback yet.

Upgrade from Alfresco 4.1 to Alfresco 5

I am evaluating the option to upgrade a project developed for Alfresco 4.1 to Alfresco 5.
The project contains mostly customisations of Alfresco Share. We have new pages but also customisations of OOTB pages (the document library for example).
I know that Aikau has been already introduced in some of the pages in Alfresco 5.
I am wondering how much of our code could be reused.
Because the customisations have been implemented using Surf, most of their logic is in webscripts. Is it possible to continue to use these webscripts with Aikau?
The biggest change made in Alfresco Share was between versions 4.1 and 4.2 when all of the WebScripts were refactored to move all the logic out of the FreeMarker templates and into the JavaScript controller (see the series of blog posts starting here). The purpose of this was to make customization easier as it enabled simple configuration tweaks as well as swapping out default Alfresco widgets for 3rd party extensions. This somewhat paved the way for the approach that Aikau then follows - namely to allow all customizations to be done through the WebScript JS controller but with Aikau the widgets are much finer grained.
Ultimately it is going to entirely depend on your customizations for 4.1. The main differences you'll find are to the header bar and to the search page. The toolbar and documentlist Surf Components were also merged to reduce the vertical space that they took up.
The main issue for other WebScript customizations will be that you'll need change how you were extending them, as code that was previously in the FreeMarker template in 4.1 will now be in the JS controller.
Aikau has already been introduce in 4.2.e, to check the full listing of functionalities developed in Aikau, check this link.
Aikau is built on top of spring surf, so most of your customisations (if not all) should still be viable. The only difficulty I think you may face is migrating your project structure from the old ANT SDK,to the new one based on maven! But this page should guide you through the use of the new SDK.

customise eclipse scout application look and feel

I am new to eclipse scout. My question is how do i customise the default application look and feel for an eclipse scout application. I want to be able to change the button colors and replace the default icons with my own. I was able to change some of the colors using the application.css file but i did not archieve much. Also, is there a way of getting the ids, or class names for the various components in the resulting web pages so that i can be more granular in styling them.
Thanks in advance.
How you can style an Eclipse Scout application depends on which front-end you use: RAP, Swing or SWT.
Swing
You can use the Scout Swing Spy to determine the class name of a component in your UI when you have it selected.
If you use the Rayo look and feel, you can use implement the interface ILookAndFeelConfigurator and register it for the extension point org.eclipse.scout.rt.ui.swing.lafconfigurator to change the theming by providing a custom XML. The Rayo concept wiki article explains this in more details.
If you do not use the Rayo LaF...
RAP
The default RAP theme is modelled after the Rayo theme mentioned above.
Changing it involves creating your own theme bundle and create the appropriate CSS file there. Given that it is a RAP theme, you'll have to refer to the RAP RWT Theming guide. See the Scout forum thread "Scout Web App + CSS".
For reference, this is the Rayo CSS file of the Eclipse Scout 5.0 in the eclipse scout git repository (org.eclipse.scout.rt.ui.rap.theme.rayo)
SWT
Given that the SWT UI is designed to be portable and uses the widgets provided by the operating system, the amount of customization is more limited.
You can use the extension point org.eclipse.scout.rt.ui.swt.lookAndFeel to adjust some values of the look and feel (see schema file). See also the Scout thread "Modifying SWT look and feel for disabled elements"
you can make your own button and you own icon by use photoshop first bro
then copy the file into res/drawable of your application project

How can we develop custom themes in SAPUI5

i am working on theming concepts in SAPUI5 application.
I got to know that the theming can be done by using UI Theme Designer (which is a tool in SAP backend).
I got to know this from here.
Is it possible to develop a custom theme in SAPUI5 with out using Theme Designer.
There is a range of options, Theme Designer being the easiest and least flexible one, a completely written-from scratch CSS file the other extreme.
In between there are options like copying an existing theme, renaming it, and appending CSS parts that modify the existing appearance (this is also possible in Theme Designer!).
One main deciding factor is how different your theme should look from an existing one, and what your upgrade strategy is. Very different themes might be best created using the "base" theme as... well, base. But whenever you create lots of extra CSS you need to be aware that you have to adapt it to new UI5 releases. The Theme Designer does this automatically, as long as you don't add any custom CSS.
Before writing a theme from scratch or vastly modifying one, you should look at how large existing themes are and estimate whether you want and can develop and maintain such a thing on your own.
(Why are they so complex? 200 controls - and that's only the OpenUI5 subset - and many of them very powerful with different appearances and responsiveness, working across devices, and also appearing in right-to-left mode,... that's something no other framework offers, so of course the UI5 themes are larger than those of much smaller frameworks.)

Sitecore: importing a sublayout after deploying the code

I have a local Sitecore instance where I made changes involving both code and the creation of a new sublayout.
After deploying the code I can see on the new environment the usercontrol (.ascx) file associated to the sublayout, but the corresponding item does not appear and cannot be used.
If I attempt to recreate the usercontrol, it tells me that the file already exists, and due to my lack of experience with the platform I found myself unable to import it.
What would be the optimal way to proceed?
To deploy your new sublayout correctly you should create a Sitecore Package. This is basically a zip file that allows you to move both items and disk files between Sitecore instances in a controlled manner. For basic installs of Sitecore, where you have not added any specialised tools, it is generally the preferred way to move resources between servers.
The "Package Designer Guide" on the Sitecore Developer Network will give you information about how to use the Sitecore UI on your development site to create a package containing both the Item(s) and the file(s) for your sublayout:
http://sdn.sitecore.net/upload/sitecore6/65/package_designer_admin_guide-a4.pdf
Once created, this package can then be imported onto whatever other servers you want to deploy your sublayout to.
-- Edited to add --
Derek Hunziker's answer makes a good point: As well as the basic Sitecore behaviour there are third party tools available which can enhance and extend the deployment experience if you wish. As well as Hedgehog TDS, you might also consider:
The "Sitecore Rocks" extension for Visual Studio allows the creation of packages from within the
Visual Studio UI. This tool is free to use. (https://visualstudiogallery.msdn.microsoft.com/44a26c88-83a7-46f6-903c-5c59bcd3d35b/)
There are also a variety of open source tools - Sitecore Courier is one example: (https://github.com/adoprog/Sitecore-Courier) This is designed to help automate deployment between Sitecore instances.
Both TDS and Courier are most suited to regular deployments, such as those during ongoing development cycles, since they both include automation to help decide what gets deployed. The standard Sitecore UI and the Sitecore Rocks extensions for package creation are better suited to ad-hoc deployments, since you generally pick the things to deploy manually.
A common best practice is to deploy your items along with your code using Team Development for Sitecore. This eliminates the need to create Sitecore packages every time you want to move items between environments, which in turn reduces issues caused by human error. As an added bonus, the items that you own as a developer (such as Templates and SubLayouts) can be checked into source control.
Full disclosure: I work for Hedgehog Development :)