change the UI of the WSO2 API Manager v3.0.0 - wso2

I want to change the UI of the wso2 API manager.
I use product-am v3.0.0, carbon-apimgt v6.5.349, and nexus.
I'm add a <h4></h4> tag in /carbon-apimgt-6.5.349/features/apimgt/org.wso2.carbon.apimgt.store.feature/src/main/resources/devportal/source/src/app/components/AnonymousView/SignUp.jsx and the change the font size in defaultheme.js file.
I change the default repository to myrepo.com and added configuration below:
<distributionManagement>
<repository>
<id>nexus</id>
<name>nexus-mixed</name>
<url>http://myrepo.com/repository/nexus-mixed/</url>
</repository>
</distributionManagement>
then run the mvn clean deploy command.
but when build in product-am and run only font size changed and <h4></h4> tag not added.
issue in GitHub: this

dh
API Manager 3.x UIs has two levels of customizations, in the basic level, You can change the UI themeing via defaulttheme.js file, which does not require to re-build the web app to make the changes effect. The limitation in this method is, You can only change the theming parameters which are pre-defined in the theme file. But still, there are quite a lot of theming capabilities in it.
The defaultTheme.js file in API Manager 3.0.0 is an extension of the Material-UI default theme file, Hence you can apply any customization which is allowed in material-ui theme structure.
In the second level customization or advanced customization, you can customize the behavior of the web app by overriding the React JS implementation. We have developed a webpack plugin to override the default React component implementation with extended or custom implementation when the user decided to add customization to their app. You can find the documentation for this advance customization here.
And also please note:
Modified the default React component implementation in the web apps are not recommended. By doing so it will be difficult to update the server through wso2 update manager (WUM), So that our recommendation is to use any of the above customization methods to customize the web apps according to your need.

Related

How to make asset can be download in WSO2 ES

I visit the site https://store.wso2.com, when I choose one connector(for example: Jenkins), it show the detail page, and it has the Download connector Link button!! I think the site is build from WSO2 ES.
My question is how can make the asset can be downloaded? I try the WSO2 Enterprise Store 2.0 version, but I can't find anyway to achive it.
You can achive this using asset extensions in WSO2 ES-2.0.0 version.
In a default pack [HOME]/repository/deployment/jaggeryapps/store/themes/store/partials/asset.hbs files renders the asset details page. You can override it as well as sub partials used in that file by asset type.
Copy [HOME]/repository/deployment/jaggeryapps/store/themes/store/partials/assets.hbs to [HOME]/repository/deployment/jaggeryapps/store/extensions/assets//themes/store/partials/asset.hbs
In this file add change to UI elements to point to a downloadable URL.
ex: https://github.com/wso2/product-es/blob/1.0.1/modules/apps/store/extensions/assets/ebook/themes/store/partials/asset-utilization.hbs#L11
You can read more about WSO2 ES extension model here

Adding Functions and packages to Device managemnt Core and common

I created a package and org.wso2.carbon.device.mgt.core.log.mgt created some functions in it.
Added my new Build of Carbon Device core as a project dependency to
WSO2 MDM - Mobile Device Management Admin Services
precisely the Operations Class
Build the project and Deployed it.
On loading it failed with Error being
Caused by: java.lang.IncompatibleClassChangeError: Implementing class
Any Help will be greatly apreciated. My Goal
Create functions in Carbon device Core and Common following your Design. Call the functions in my webservice
Please follow the instruction given in the below webinar and the tutorial in order to create your feature as an OSJI bundle(Carbon component) and add it to the EMM server. This is the correct and advisable approach for include new functionalities to WSO2 products.
http://wso2.com/premium/webinars/creating-your-own-wso2-carbon-components http://wso2.com/library/tutorials/2014/03/how-to-write-a-wso2-carbon-component/
First of all you need to create the carbon component(in here your newly created package).
Then Create the feature accordingly.
Then need to add created feature to the pom.xml file of the
product-emm p2-profile-gen.
then makes it packs in the project target by adding a entry to the bin.xml of the product-emm
following attached tutorials gave you a better guidance and clear idea about how to create your own carbon component.
tutorial
http://wso2.com/library/tutorials/2014/03/how-to-write-a-wso2-carbon-component/

Azure Resource Template for new api app resource

I want to create an Azure Resource Group template which includes the new api app resource. I say new since api apps have changed: App Service API Apps - What's changed
.
I tried this Create a Logic App plus API app using a template . Note: I don't want to create a logic app but this example also includes an api app. When I run this example I get a message: There is a new version of API Apps. Click here to learn more. So this is not the correct example. I can't find a better example.
Note: when I simply add "kind: apiapp" to the "Microsoft.Web/sites" resource, no apiapp is deployed, I also don't get an error.
So my question is how to create a new api with Azure Resource Templates.
I contacted MS for this, they helped me and now it's fixed. Their answer:
Have you installed the new Azure SDK version 2.8.2.1? In that release (actually in 2.8.1 and beyond) we added “Export ARM Template” capability to the provisioning UI. So when you go to publish, then click the New button, you can export your ARM template. That way you’d be able to see exactly the right syntax for creating an API App.
So in VS create a web application, publish it to app service, check api app and then click the export button and you get the correct json.
See also:
https://feedback.azure.com/forums/223579-azure-portal/suggestions/7163577-ability-to-export-a-resource-group-as-a-template

developing custom WSO2 Carbon authenticator clients

I am implementing new authentication methods for WSO2 Carbon. I know there is a pretty good explanation and sample piece of code in this post.
The problem is, what if I want to generate stub and service client components from the sample BE authenticator? What are the steps to follow? Any tools (java2wsdl / wsdl2java, maven plugins,...) or reference tutorial that can help to achieve this in the most straightforward way?
I know there are several existing authenticators (IWA, webseal,...), but they already come with some stub/ui built in the existing repositories. I would be rather interested in being able to develop/generate all the components more or less from scratch rather than having to modify existing code, which is often prone to errors.
Thanks
This is some high level thing.. but hope this is useful.
1st you can develop the BE component as OSGI bundle. Then you can deploy it in /repository/components/dropins directory. Here you need to have a service.xml file to expose as web service (Please refer WebSeal BE component)
Then configure following property in the carbon.xml file.. if BE service has been defined as admin service
true
Open browser and locate your WSDL of new service
https://{ip}:{port}/services/{service name}.wsdl
Then use wsdl2java tool to create the stub class for you. There is a UI tool in WSO2AS product to do it.
Use stub as a dependency for your FE

How can I add a web service project using Visual Studio 2010?

I don't want WCF, I only want web service.
Thank you.
They've obscured it, but it's easy enough:
Right-click on your solution, select Add New Project.
In the Framework selection dropdown, select .NET Framework 3.5
Select the Web installed templates listing and you'll find ASP.NET Web Service Application as the last one in the list.
In other words, you can create one in .NET 3.5, but not 4. Now, that being said, it seems like it may be possible to create a .NET 4 template for VS2010, but I'm not a VS2010 guru, so that's for someone else to elaborate on.
Edited to Add: Somebody else posted a response to your question that was also a good answer, I thought, but they deleted it themselves for some reason. I don't remember their user name. I'll repeat it here.
If you create a new Web Application in the solution, you can then Add New Item, and one of the options under Web is "Web Service" at the very bottom.
The only drawback to this is that besides the web service, you also have the usual default items for a web application, namely default.aspx, about.aspx, global.asax, and site.master, as well as the folders Account, Scripts, and Styles. But you can delete these, so no problem. Also keep in mind that the web.config in the Web Application project will be different from that of the Web Service, and that the assembly bindings for the web service will point to ASP.NET v2 & v3.5 (see its web.config), whereas the service in the web application project will default to ASP.NET v4 (through its project file). I don't know if any negative implications exist for either way of working, though I suspect that both will work just fine.
If you select the framework like mentioned above to 3.5 you can select a web service application. If you want it to be targeted at .NET 4.0 framework, go into my project --> Compile --> Advanced Compile Options --> change the target framework to .net framework 4.
You can also change your compile options to target it at a x64 or x86 (32 bit) server.
web.config in the Web Application project will be different from that of the Web Service, and that the assembly bindings for the web service will point to ASP.NET v2 & v3.5 (see its web.config), whereas the service in the web application project will default to ASP.NET v4 (through its project file). I don't know if any negative implications exist for either way of working, though I suspect that both will work just fine.
Here was my resolution:
Right-click on your project name and select to Add Service Reference.
Select the Advance button at the very bottom.
Select the Add Web Reference button at the very bottom.
Proceed as usual. :)