Re: wocomponent wizard preview

From: Chuck Hill (chil..lobal-village.net)
Date: Tue Feb 24 2009 - 12:09:52 EST

  • Next message: Mike Schrag: "Re: wocomponent wizard preview"

    On Feb 24, 2009, at 9:00 AM, Mike Schrag wrote:

    >> Are you thinking of using this for templates? e.g. No Content,
    >> Full Page, My Custom Template etc?
    >
    > see http://wiki.objectstyle.org/confluence/display/WOL/Custom+Project+Templates
    > for most of the nitty gritty (the same underlying system is being
    > used here)
    >
    > ProjectTemplate pt =
    > ProjectTemplate.loadProjectTemplateNamed("Component Templates",
    > "WOComponent");
    > loads a template named "WOComponent" from the template folder
    > "Custom Templates" -- this will look inside the templateengine
    > plugin for defaults, but also supports the same overrides as Project
    > Templates -- this is the generalization of it, basically. You can
    > also enumerate the templates available in the "Component Templates"
    > group, which will be the combination of builtins + overrides.
    >
    > pt.addInput(new ProjectInput("name", ProjectInput.Type.String));
    > if you don't declare a template.xml with variables in it (you can
    > also use TemplateInputsWizardPage, though I think for components I
    > wouldn't bother supporting this), you can explicitly add custom
    > project inputs -- the most obvious being a "name" for the component.
    >
    > pt.setValueForInputNamed("SomeName", "name");
    > then you can also programmatically set the value of inputs
    >
    > InstallTemplateOperation top = new InstallTemplateOperation(pt,
    > project, targetFolder);
    > new ProgressMonitorDialog(getShell()).run(false, false, top);
    > and finally install the template ... this installs the given
    > template into the targetFolder within the given project. You get
    > top level access to that targetFolder, so if your template has a
    > test.html in it, it will end up as targetFolder/test.html ... In the
    > case of a bundle component, your template would like have a
    > __name__.wo folder in it. For an html component, it would just be
    > __name__.html and would appear at the top level.
    >
    > so rough overview:
    > 1) make a couple built in component template formats -- bundle,
    > single file, etc, and put them in something like templateengine/
    > ComponentTemplates (it looks for w/ and w/o the space inside the
    > plugin)
    > 2) make your combo box of templates based on the
    > loadProjectTemplates("Component Templates")
    > 3) decide on a couple hard-coded variable names that component will
    > use (for first version at least) and set those in code
    > 4) execute the template op (it doesn't have to be a progress dialog
    > -- there are lots of ways to execute a workspace modify op)
    > 5) profit from custom component templates
    >
    > The cool thing with this, which is also nice w/ the project
    > templates, is that you can just drop your own custom ones into the
    > Library/App Support/WOLips/Component Templates folder, or even
    > override the built-in ones, and they will appear in the picker. I
    > actually think this system, or something like it, should be built
    > into Eclipse, because it makes it so much easier to make codeless
    > custom templates (ala Xcode).

    Now for double bonus points, can they come from the project (e.g.
    project specific templates)?

    Chuck

    -- 
    Chuck Hill             Senior Consultant / VP Development
    

    Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects



    This archive was generated by hypermail 2.0.0 : Tue Feb 24 2009 - 12:10:56 EST