Giter Site home page Giter Site logo

emiloberg / liferay-ddmtool Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 16.0 947 KB

Tool for authoring, uploading, downloading and synchronizing Liferay DDM related stuff (Structures and Templates) across environments.

License: MIT License

JavaScript 100.00%

liferay-ddmtool's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

liferay-ddmtool's Issues

Support for DDM Form Templates

DDM Form Templates are currently not supported. They are downloaded (and saved as .xsd files) as expected, but can't be updated or created.

This would be really useful when relying on e.g. select Labels begin localized - it doesn't play well with the "friendly" editor's added user-friendly white-space...

Issues with self signed Certificates in Dev Environments

I'm unable to use your great Tool in our Project Setup, because all our Servers use SSL Certficates. On our Dev Servers with self signed Certificates I see this Error Message:

Getting data from server
Downloading id's

Error
Unknown error: {"code":"DEPTH_ZERO_SELF_SIGNED_CERT"}

On the Prod Server, which uses an official signed Cetificate I see this one:

Getting data from server
Downloading id's

Error
Unable to check CSRF token

Any Ideas on how we could use the Tool with secured Connections?

How to assigne pages to structure

This isn't issues, just question how to use this tool. Is it possible to export just pages, not web content, blogs, documents and media, etc.

In doc is written:
Every Template must be assigned to a Structure. Don't create any templates on the Liferay server which does not have a structure connected to it.

I have created couple of pages, but cant find any information how to tide this pages (with my own portlet application) to appropriate structure. At the end, when i use Download all option in ddm tool, it doesnt export any of existing pages, just web content, documents and media, blogs, wiki, etc. but not the pages.

I am using liferay 6.2, what i am doing wrong.

Generic templates not tied to a structure support

In Liferay 6.2, you have options for whether you want your template to be permanently linked to your structure. Generic templates are templates that are not tied to a structure, which allows for reusable code that can be imported into other templates.

A good example is the template for the Dynamic Data List. Currently, such template can be downloaded but the following error is thrown when trying to upload the changes: Template didn't match structure. (Error 5001).

What would it take to support the generic templates not tied to a structure?

DXP support

Hey @emiloberg,

Love the tool. Is there any plans to make it compatable with DXP/7.0? I tried it real quickly and seemed like some of the APIs have changed in portal. Just wondering if you have any plans for it.

-ryan

Could not establish connection (Error 403 ) when creating new project

with liferay-ce-portal-7.0-ga5 , ddm prints Could not establish connection (Error 403 ) to terminal even though authentication credentials are correct when i try to debug i found that problem is not about authentication.

To debug when i add

console.log('\n'+ 'Request:  \n');
			console.log(res.req);

to after

.end(function(err, res){

it throw a message which contains

'com.liferay.portal.kernel.jsonwebservice.NoSuchJSONWebServiceException: No JSON web service action with path /classname/fetch-class-name-id and method null for null'

after that i checked the http://localhost:8080/api/jsonws and server was telling the truth only services contains classname was fetch-by-class-name-id and
fetch-class-name no fetch-class-name-id i'm assuming this is due to difference between rest api of liferay versions.

in conclusion ddm is not usable with liferay-ce-portal-7.0-ga5

Support for SSL using self-signed certs

I tried to use this tool to fetch built structure meta data from a dev host which is reachable only via https, but has only self-signed dummy certs installed. I receive this message:

Unknown error: {"code":"DEPTH_ZERO_SELF_SIGNED_CERT"}

This seems to be a node.js problem but can be overcome using the right modules and implementation (as it seems).

Is it possible to extend liferay-ddmtool such that thid problem can be bypassed at least by explicit configuration? Something like "allowSelfSignedCerts : true"?

Error trying to 'upload' data to server

I did a 'download', then turnaround and immediately try an 'upload'. I receive the error:

Could not extract Language Type from filename

on this file:

journal/structures/Basic Web Content - 6.2.3.1.xml

How's the best way to work around this?

Custom ADTs

Hi Emilio,

AWESOME tool for starters. Seriously, this and the instant theme deploy are my two favourite toys right now and inspiring me to try to do similar things to automate more of our needs. Question? Issue? not sure so I thought I would ask.

We have created a customClassNameConfig.json file. The structure of our file is ...
[
{
"filesPath": "application_display_template/support",
"friendlyName": "Support",
"clazz": "com.xxx.liferay.portlet.support.SupportPortlet",
"getTemplate": true,
"mayHaveTemplates": true,
"mayHaveStructures": true,
"isNativeDDM": false
}
]

When we initiate the ddm tool and check for diffs, we see our ADT for our SupportPortlet. We are also able to download it. We then start the watch and when we make a change it SAYS that it worked but we don't see the changes on the server. We stopped the watch and tried to manually upload the file (Diffs, select files for upload, selected our file) at which point we receive this error --

Error: Could not find any sites to upload the file to

and the ddm tool exits. I don't see anything about specifying the sites that the templates are assigned to. When I checked the DDMTemplates table, I find an entry with my template, and there is a groupId there.

Help? :)

Support for Staging environment

When staging feature is enabled in the site settings ddmtool publishes to the live version of the site instead of staging. We used the tool until the staging feature was enabled but could not use it after that and had to manually apply the template changes in staging version of the site. The template changes then would get published to the live version of the site with the rest of the content.

The enhancement would be to use a different group id associated with the staging version of the site instead of the group id associated with the live version.

Handle self-signed SSL server certificates

Currently ddm-tool stumbles when trying to connect to a server which uses SSL but has only a self-signed ("dummy") certificate installed. This is because node.js doesn't automatically accept self-signed certificates but throws a DEPTH_ZERO_SELF_SIGNED_CERT error in this case.

For development environments however it is kind of typical to use "dummy" certificates for DEV or QA machines being available only inside the local corporate network. Thus ddm-tool should be able to handle this situation gracefully.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.