Purpose
This script handles the scenario where the user views the site. It is responsible for calling and invoking TWiki.
Used by
Code outline:
- load template
- complain if web or topic not valid
- handle canceled (from EditPreviewViewWorkflow)
- retrieve $topicText from TWiki::Store
- read skin and templates for displaying page
- ensure user has permission to view the topicText
- bounce them to authenticate if not
- unless want raw text, call renderer to convert topicText into HTML
- mirror stuff
- formatting footer stuff
TWiki Modules used
This
CGI script depends on the following TWiki modules for functionality:
External Modules used
This
CGI script also depends on the following external modules
This section lists the methods that can be used by the scripts and by other modules
- main - used on invocation by CGI
These do not need to be not documented yet
Please see
CodevDocumentationProject and
CodevDocumentationProjectDev for comments on the format of these pages.
--
MartinCleaver - 23 Jun 2002
I'm attaching the visual call graph produced by running "bin/view" on my server.
- It show what subroutines get called from where.
- It does not preserve anything about order.
- It does not show parameters
- It does not show indirect calls
- It does not show Object References. See perl's 'Xref" tool for that.
I used the Deparse option to reduce it to the raw parse, wrote a small perl hack (scrappy as hell but it did the job) to produce the indented listing, then imported it into a graphics tool to show as a visual tree. Yes, it could be automated; the hack could output some kind of postscript, but I don't write postscript any more. (It takes a month to turn my brain around to think in RP, and then I talk funny too, then a month to warp my brain abck so I can relate to 'notrmal' people and things.)
The tree shows that there are some bits of code that are parsed but not called from "main".
I'm attaching the graphic (you'll need a big screen) and the basic text file.
I hope this helps people with an understanding of the structure of TWiki's code.
There are some ramifications of this that impact overall efficiency that I'll
comment on later and reference back to here.
--
AntonAylward - 08 May 2003
Anton, can you rerun this for
CairoRelease please? Since Crawford performed the
SlimDownFatCgiScripts the architecture has changed considerably.
--
MartinCleaver - 02 Oct 2004