| Summary: | New project wizard should have an option to select templates from available PHP facets | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Jacek Pospychala <jacek.pospychala> | ||||||||||
| Component: | PDT | Assignee: | Martin Eisengardt <martin.eisengardt> | ||||||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||||||
| Severity: | normal | ||||||||||||
| Priority: | P3 | CC: | david_williams, robert, wywrzal | ||||||||||
| Version: | unspecified | ||||||||||||
| Target Milestone: | --- | ||||||||||||
| Hardware: | PC | ||||||||||||
| OS: | Mac OS X | ||||||||||||
| Whiteboard: | |||||||||||||
| Attachments: |
|
||||||||||||
|
Description
Jacek Pospychala
@Jacek While working on this patch I detected a problem. At the moment I have a new wizard page between PHPProjectWizardFirstPage and PHProjectWizardSecondPage. I tried to move the code creating the new project from PHPProjectWizardSecondPage to PHPProjectWizardFirstPage. PHProjectWizardSecondPage will only setup the buildpath and no longer creaste the whole project. It works so far but there is logic to backup existing .project/.buildpath files. The private method to restore them (restoreExistingFiles) is never called??? Should the whole thing be removed or did anyone commit code that breaks this logic? I think the restore code should be called on performCancel, shouldn't it? @Martin: Will facets be able to modify the buildpath during project creation? i'm currently adopting my Composer plugin to use facets, and it needs to alter the buildpath, e.g. add a new buildpathContainer which handles composer dependencies. This works when adding the facet to an existing project, but i think we should keep that possibility in mind for the project wizard too. They will. Actually before switching to build path page (current page two) some new extension points will be able to customize the new project wizard Created attachment 222554 [details]
first patch
commited first patch (more following) open tasks - extension points for INewProjectWizardFragmentFactory and INewProjectWizardOperation - Logic for displaying the new wizard fragments (using the currently invisible tabbed panel on the facets page) - Logic for invoking the configured new wizard operations Thanks Martin, I won't be able to review until end of next week. Btw, if you have this working, could you attach some screenshots how this works? Created attachment 222557 [details]
new project wizard
first page (no changes)
Created attachment 222558 [details]
new facets page (new second page)
Choosing the configuration, below the currently invisible tabbed pane for detailed configuration of additional facets you select.
Created attachment 222559 [details]
modification dialog from wst
Enter the modification dialog from web standard tools.
It allows static templates configured via plugin.xml as well as user defined configurations.
added some screens of the current modification ok this looks great. It'd be interesting to actually put this on first page, e.g instead the "JavaScript" checkbox. Btw. JavaScript could be removed, given that there's facet for it too. Also I wonder if PHP Core and PHP facet must show up on the list, given that they cannot be unchecked. (but we can work on that later. For now it'd be super important to get existing PDT plugins to use new GUI) cool, thanks a lot martin! I'll be happy to integrate Symfony / Twig / Composer to use facets and the new GUI as soon as the patch is available. > It'd be interesting to actually put this on first page, e.g instead the > "JavaScript" checkbox. Btw. JavaScript could be removed, given that there's > facet for it too. I currently do not know what the javascript facet does. It comes from web standard tools :) Maybe it works as expected and we could replace it. I will have a look. Putting it on the first page may not be good. Some facets may provide additional configurations. My plan was to display a tabbed panel below the "configuration" dropdown. As soon as you enable a facet that provides additional configurations a page is added to the tabbed panel. Another task (but may not be a problem at all) is the fact that php creates a project only as soon as the first page is finished. However the snippet I copied from web standard tools requires an existing project. > Also I wonder if PHP Core and PHP facet must show up on the list, given that > they cannot be unchecked. Maybe I get them filtered :) > > (but we can work on that later. For now it'd be super important to get > existing PDT plugins to use new GUI) That a matter of doing some commercials on the framework developers ;-) I already experiment with the server implementation (thats the facet called "PHP Web Project") as you see in the screenshot Jacek, would you mind applying the patch? i have troubles with the diff, and i guess you're faster doing this. Maybe in a separate branch, if it's not fully ready yet. I'd refactor the composer plugin this weekend to adopt to the new project wizard. maybe we can think of this feature request while we're at it: http://www.eclipse.org/forums/index.php/t/412516/ Martin, thanks a lot for contribution! Sorry that I didn't touched it sooner. Anyway, it's a little to large to just commit it right away and I need to follow some formal process [1] to get it into PDT repo. As part of this, I also need to ask you following formal questions: 1. Did you author 100% of the contribution you are contributing? 2. Do you have the rights to contribute the content to Eclipse? 3. Is the content being contributed under the EPL? [1] - see https://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf I appreciate your patience. > 1. Did you author 100% of the contribution you are contributing? Yes. Some code was taken/inspired from webtools subproject (as such already contributed under EPL). > 2. Do you have the rights to contribute the content to Eclipse? Yes, I guess so :) > 3. Is the content being contributed under the EPL? Yes. Ok, patch is applied, thank you Martin for contributing! Would you like to write some short step-by-step wiki page how add a new facet and get it on the list in new PHP project wizard? I started a new topic and linked it on http://wiki.eclipse.org/PDT#Developer_Resources but it's missing the content now. thanks a lot! Closing. |