• Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • Component/s: Core & storage
    • Labels:


      Quite a few people have shown up recently on the mailing list and have expressed a wish to separate the rendering engine from the core itself, so that they wouldn't need so much baggage with the engine.

      Unfortunately, this is quite difficult, as the rendering engine does rely on quite a few bits from the WikiEngine instance, for example URL generation and checking whether a page/attachment exists or not, as well as settings.

      However, these things could be enumerated and isolated to a RenderingContext interface. Then, anyone who would like to get their own engine would need to implement this interface.

      It may mean that WikiEngine and WikiContext might need to become interfaces as well. However, that might not be such a bad thing, as it would give a more stable developer API. Then we would have a three-layered architecture, where one layer (WikiEngine) takes care of static stuff, WikiContext contains per-request data, and RenderingContext provides the bits and pieces which are part of HTML generation.

      At any rate, this requires more thinking. Probably not going to happen before 3.0 anyway.


        Janne Jalkanen created issue -
        Janne Jalkanen made changes -
        Field Original Value New Value
        Fix Version/s 3.0 [ 12312865 ]


          • Assignee:
            Janne Jalkanen
          • Votes:
            2 Vote for this issue
            0 Start watching this issue


            • Created: