Documentor (Tool for API Reference & Editing) - Ideas for Google Summer of Code





Documentor
(Tool for API Reference & Editing)

Documentor is our tool to document the API of eC libraries, and for the user to browse the API reference. Here are some improvements it would greatly benefit from and would directly result in facilitating to improve our product documentation. Some of these items are relatively easy and might not keep you busy for the whole summer, so please consider bundling a few of them in your proposal, depending on your skill level and what you would feel comfortable having enough time to complete.

  • Add Undo/Redo Support to Documentor

    Overview: Documentor is missing Undo and Redo support, a major usability issue that may render it more intimidating to improve the API documentation.

    Our EditBox class already features Undo and Redo support, and provides some reusable constructs for implementing an Undo/Redo buffer (UndoAction and UndoBuffer).

    The implementation would likely be done in the HelpView class of Documentor, derived from the HTMLView class.

    Skills Required:

    • Familiarity with basic object oriented programming concepts
    • Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
    Expected results: Working Undo/Redo while editing API documentation in Documentor.

    Difficulty: Easy (Short task, consider bundling with related idea(s))

    Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
    Additional Mentor: Réjean Loyer <redj@ecere.com>

  • Generating HTML Documentation from Documentor

    Overview: In order to generate beautiful API reference documentation that we could put online, Documentor would need an export functionality to generate a series of HTML files.

    Because Documentor already makes use of an internal pseudo-HTML language to handle linking and browsing through the documentation in the tool, this task should be rather easy. Internally, this HTML-like language is rendered by the HTMLView class (also used by our web browser sample project). The main difference when exporting to HTML files, is that currently object addresses are encoded as tags within links, instead of file names; this would need to be changed to file names for exporting, and all output files should be generated when running the export.

    Improvements could include using CSS classes and applying styles to make our online documentation look good.

    Skills Required:

    • Familiarity with basic object oriented programming concepts
    • Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
    Other relevant/useful skills:
    • Familiarity with HTML and CSS
    Expected results: The ability to export API documentation for eC libraries filled in Documentor to HTML files, allowing us to put up and maintain an online API reference.

    Difficulty: Easy (Short task, consider bundling with related idea(s))

    Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
    Additional Mentor: Réjean Loyer <redj@ecere.com>

  • Documentor Search feature and IDE integration

    Overview: Documentor needs a Search feature to easily look up classes, methods, members by names, or words occurring in the documentation contents. Some form of indexing could be used to speed up the look up as you type (we already have code to re-use for this based on binary trees and substring occurences, from our Acovel Media Library Player, which performs extremely well on large data sets).

    Additionally, hitting F1 from the IDE on an identifier should automatically bring up the API reference for it. There is already a communication pipe set up between the IDE and documentor, to ensure a single instance of Documentor is ran when hitting F1, so more communication commands would be used to make that work.

    It would also be nice to include documentation summary in existing context-sensing popups e.g. for method calls.

    Skills Required:

    • Familiarity with basic object oriented programming concepts
    • Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
    Expected results: A working search feature in Documentor, F1 in the IDE bringing you to the documentation related to where the caret is positioned, context-sensing popups showing documentation summary.

    Difficulty: Medium

    Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
    Additional Mentor: Réjean Loyer <redj@ecere.com>



Copyright © 2017 Ecere Corporation. All rights reserved. | Design by FreeCSSTemplates.org.