Aside from the fact that the PageFilter interface has changed (minor modifications necessary, you will see when you compile it), you should be fine. If you are not, please let us know so those can be documented.

/Janne

On 5 Jan 2008, at 22:41, Ethan Larson wrote:

Thanks again - that worked. Just one other question: will there be anything different about my filter/plugin setup, or can I follow the same setup outlined in the documentation?

Cheers,
Ethan

P.S. - Here's my code in case anyone else wants to get this working. If anyone sees something wrong or a way to optimize it, please let me know:

public class SimpleJSPWikiRenderer {

   protected static WikiEngine sEngine;
   protected static WikiContext sContext;

   static {
       Properties props = new Properties();
props.setProperty(PageManager.PROP_PAGEPROVIDER, DummyPageProvider.class.getName()); props.setProperty(AuthorizationManager.PROP_AUTHORIZER, DummyAuthorizer.class.getName());
       props.setProperty(AuthenticationManager.PROP_SECURITY, "off");

       try {
           sEngine = new WikiEngine(props);
sContext = new WikiContext(sEngine, new WikiPage (sEngine, "dummy"));
       }
       catch (WikiException e) {
           e.printStackTrace();
       }
   }

   public static String render(String wikiMarkup) throws IOException {
       // Create new parser and parse the content into a WikiDocument
MarkupParser parser = new JSPWikiMarkupParser(sContext, new StringReader(wikiMarkup));
       WikiDocument doc = parser.parse();

       // We now create a new WikiRenderer
       WikiRenderer rend = new XHTMLRenderer(sContext, doc);

       //  Now, do the rendering.
       return rend.getString();
   }
}

Janne Jalkanen wrote:

Oh, and by the way, it's cleaner to directly hit the RenderingManager. See the following article for details:

http://www.jspwiki.org/wiki/MarkupParser

/Janne

On Jan 4, 2008, at 08:21 , Ethan Larson wrote:

Ok, I created a dummy page provider and a dummy authorizer and I got a lot farther. I don't even need a MemoryPageProvider since I all I need is the output (thanks just the same Florian - it was instructive). I actually got translated output. The problem is that I had to modify the source code to do it. I had to comment out line 532 of WikiEngine:

//m_authorizationManager.initialize( this, props );

As near as I can tell, there's no way to create an authorization manager that doesn't involve a jspwiki.policy under WEB-INF. However, since I'm running it as a standalone app, I don't have a web container and therefore no WEB-INF. I could create this under the working directory, but I really don't want to put blank, unused metadata in my app. Is there any way to configure this such that I can start the authorization manager without a jspwiki.policy?

On a broader note, I'd be over the moon if this were an easier process. JSPWiki seems to be the most actively developed and feature-rich Java wiki there is, and has support for plugins and filters which I will eventually need. If there were an easy way to run the wiki translation, complete with plugins and filters, that didn't involve a web container and any extra memory/disk usage, it could broaden the usage quite a bit. I've looked at other java wiki translators out there, and none of them are doing a good job of the features/active development/ease of standalone combo (Radeox, Bliki, VQWiki to name a few). Other forum/mailing list posts confirm there is a demand.

Thanks for all your help,
Ethan

P.S. -- Here's my current code for anyone reading this in the future:

Properties props = new Properties();
props.setProperty(PageManager.PROP_PAGEPROVIDER, MyPageProvider.class.getName()); props.setProperty(AuthorizationManager.PROP_AUTHORIZER, MyAuthorizer.class.getName());

WikiEngine engine = new WikiEngine(props);

WikiContext context = new WikiContext(engine, new WikiPage (engine, "test"));

System.out.println("output: \n" + engine.textToHTML(context, "this is a test\n\n* more stuff"));


MyPageProvider and MyAuthorizer are both empty implentations of the interfaces. Just return an empty List for MyPageProvider.getAllPages.


Janne Jalkanen wrote:

Yup, the problem is that there needs to be *some* kind of a page provider, because the system needs to check if e.g. a page exists or not when it encounters a link. The generated HTML differs in each case.

A dummy provider will do just fine, e.g. the MemoryPageProvider.

/Janne

On Jan 2, 2008, at 00:23 , Florian Holeczek wrote:

Hi Ethan,

maybe this can help you:
http://www.jspwiki.org/wiki/MemoryPageProvider

Regards,
 Florian

The problem with the page directory is that I don't want one. I will be managing the input/output of the text myself. I really just want to give some wiki markup to the parser and get back html. Is there
currently a way to do this?





Reply via email to