Difference: SourceCode (17 vs. 18)

Revision 182013-10-14 - TWikiContributor

Line: 4 to 4
 
On this page:
Changed:
<
<

[[CGISessionDotPm][]]

>
>

Monitor

 
Added:
>
>
Monitoring package. Instrument the code like this:
 
Changed:
<
<
This package doesn't smell

[[CGISessionDriverDBIDotPm][]]

This package doesn't smell

[[CGISessionDriverDb_fileDotPm][]]

This package doesn't smell

[[CGISessionDriverDotPm][]]

This package doesn't smell

[[CGISessionDriverFileDotPm][]]

This package doesn't smell

[[CGISessionDriverMysqlDotPm][]]

This package doesn't smell

[[CGISessionDriverPostgresqlDotPm][]]

This package doesn't smell

[[CGISessionDriverSqliteDotPm][]]

This package doesn't smell

>
>
use Monitor; Monitor::MARK("Description of event"); Monitor::MARK("Another event");
 
Changed:
<
<

[[CGISessionErrorHandlerDotPm][]]

>
>
or, to monitor all the calls to a module
 
Added:
>
>
use Monitor; Monitor::MonitorMethod('TWiki::Users');
 
Changed:
<
<
This package doesn't smell

[[CGISessionIDIncrDotPm][]]

This package doesn't smell

[[CGISessionIDMd5DotPm][]]

>
>
or a function
 
Added:
>
>
use Monitor; Monitor::MonitorMethod('TWiki::Users', 'getCanonicalUserID');
 
Changed:
<
<
This package doesn't smell

[[CGISessionSerializeDefaultDotPm][]]

This package doesn't smell

[[CGISessionSerializeFreezethawDotPm][]]

This package doesn't smell

>
>
Then set the environment variable TWIKI_MONITOR to a perl true value, and run the script from the command line e.g: $ cd bin $ ./view -topic Myweb/MyTestTopic
 
Changed:
<
<

[[CGISessionSerializeJsonDotPm][]]

>
>
The results will be printed to STDERR at the end of the run. Two times are shown, a time relative to the last MARK and a time relative to the first MARK (which is always set the first time this package is used). The final column is total memory.
 
Added:
>
>
NOTE: it uses /proc - so its linux specific...
 
Deleted:
<
<
This package doesn't smell

[[CGISessionSerializeStorableDotPm][]]

This package doesn't smell

[[CGISessionSerializeYamlDotPm][]]

This package doesn't smell

[[CGISessionTutorialDotPm][]]

This package doesn't smell

[[MonitorDotPm][]]

 

This package doesn't smell

Line: 169 to 113
  This package has smell factor of 2
Changed:
<
<

TWiki::Configure::Load

>
>

TWiki::Configure::Checkers::CertificateChecker

Configure GUI checker for Certificate items.

This checker validates files that contain X.509 certificates, such as for the S/MIME signatures and for the Tasks framework.

It must be subclassed for the various certificate types, as the requirements are slightly different.

This package doesn't smell

TWiki::Configure::Checkers::Certificate::KeyChecker

Configure GUI checker for Certificate Key items.
 
Changed:
<
<

Purpose

>
>
This checker validates files that contain private key files such as for the S/MIME signatures and for the Tasks framework.

It must be subclassed for the various certificate types, as the requirements are slightly different.

This package doesn't smell

TWiki::Configure::Load

  This module consists of just a single subroutine readConfig. It allows to safely modify configuration variables for one single run without affecting
Line: 181 to 149
  This package doesn't smell
Changed:
<
<

[[TWikiConfigureUIsEXTENDDotPm][]]

>
>

TWiki::Configure::UIs::EXTEND

 

This package has smell factor of 2

Line: 197 to 166
 Global variables are avoided wherever possible to avoid problems with CGI accelerators such as mod_perl.
Changed:
<
<

Public Data members

>
>

Public Data members

 
  • request Pointer to the TWiki::Request
  • response Pointer to the TWiki::Respose
  • context Hash of context ids
Line: 230 to 199
  This package has smell factor of 38
Changed:
<
<

[[TWikiEngineDotPm][]]

>
>

TWiki::Engine

The engine class is a singleton that implements details about TWiki's execution mode. This is the base class and implements basic behavior.

Each engine should inherits from this and overload methods necessary to achieve correct behavior.

 

This package has smell factor of 1

Line: 292 to 268
  This package has smell factor of 1
Changed:
<
<

[[TWikiFormSelectDotPm][]]

>
>

TWiki::Form::Select

 

This package doesn't smell

Line: 324 to 301
 $TWiki::Plugins::VERSION. The 'Since' field in the function documentation refers to $TWiki::Plugins::VERSION.
Changed:
<
<
Notes on use of $TWiki::Plugins::VERSION (from 1.2 forwards):
>
>
Notes on use of $TWiki::Plugins::VERSION 6.00 and later:
 
Changed:
<
<
  • If the major version (e.g. 1.) is the same then any plugin coded to use any earlier revision of the 1. API will still work. No function has been removed from the interface, nor has any API published in that version changed in such a way as to require plugins to be recoded.
  • If the minor version (e.g. 1.1) is incremented there may be changes in the API that may help improve the coding of some plugins - for example, new interfaces giving access to previously hidden core functions. In addition, deprecation of functions in the interface trigger a minor version increment. Note that deprecated functions are not removed, they are merely frozen, and plugin authors are recommended to stop using them.
  • Any additional digits in the version number relate to minor changes, such as the addition of parameters to the existing functions, or addition of utility functions that are unlikely to require significant changes to existing plugins.
>
>
  • The version number is now aligned with the TWiki release version.
  • A TWiki-6.7.8 release will have a $TWiki::Plugins::VERSION = 6.78.
  • In an unlikely case where the patch number is 10 or larger, the patch number is added to the previous patch number. For example, TWiki-6.7.9 will have version 6.79, TWiki-6.7.10 will have 6.7910, and TWiki-6.7.11 will have 6.7911. This ensures that the version number can sort properly.
 
  • TWiki::Plugins::VERSION also applies to the plugin handlers. The handlers are documented in the EmptyPlugin, and that module indicates what version of TWiki::Plugins::VERSION it relates to.
Line: 459 to 428
 The package is also a Factory for login managers and also the base class for all login managers.
Changed:
<
<
On it's own, an object of this class is used when you specify 'none' in
>
>
On its own, an object of this class is used when you specify 'none' in
 the security setup section of configure. When it is used, logins are not supported. If you want to authenticate users then you should
Line: 499 to 468
 The last step in TWiki::new is to find the user, using whatever user mapping manager is in place.
Deleted:
<
<

ObjectData twiki

 
Deleted:
<
<
The TWiki object this login manager is attached to.
 
Added:
>
>
This package has smell factor of 8
 
Added:
>
>

TWiki::LoginManager::Session

 
Changed:
<
<
This package has smell factor of 8
>
>
Class to provide CGI::Session like infra-structure, compatible with TWiki Runtime Engine mechanisms other than CGI.

It inherits from CGI::Session and redefine methods that uses %ENV directly, replacing by calls to TWiki::Request object, that is passed to constructor.

It also redefines name method, to avoid creating CGI object.

 
Deleted:
<
<

[[TWikiLoginManagerSessionDotPm][]]

 

This package doesn't smell

Line: 526 to 500
  This package has smell factor of 2
Added:
>
>

TWiki::Mdrepo

This package doesn't smell

 

TWiki::Merge

Support for merging strings

Line: 580 to 560
 
Changed:
<
<
This package has smell factor of 3
>
>
This package has smell factor of 4
 

TWiki::Net::HTTPResponse

Line: 623 to 603
  topic => $topic, params => [ 'bigtoe', 'hot tap' ] );
Added:
>
>
 

This package doesn't smell

Changed:
<
<

[[TWikiPluginDotPm][]]

>
>

TWiki::Plugin

 

This package has smell factor of 2

Line: 753 to 735
 
Changed:
<
<
This package has smell factor of 23
>
>
This package has smell factor of 21

TWiki::Request

Class to encapsulate request data.

Fields:

  • action action requested (view, edit, save, ...)
  • cookies hashref whose keys are cookie names and values are CGI::Cookie objects
  • headers hashref whose keys are header name
  • request_method request method (GET, HEAD, POST)
  • param hashref of parameters, both query and body ones
  • param_list arrayref with parameter names in received order
  • path_info path_info of request (eg. /WebName/TopciName)
  • remote_address Client's IP address
  • remote_user Remote HTTP authenticated user
  • secure Boolean value about use of encryption
  • server_port Port that the webserver listens on
  • uploads hashref whose keys are parameter name of uploaded files
  • uri the request uri
 
Deleted:
<
<

[[TWikiRequestDotPm][]]

 

This package has smell factor of 1

Changed:
<
<

[[TWikiResponseDotPm][]]

>
>

TWiki::Response

Class to encapsulate response data.

Fields: * status - response status * headers - hashref to response headers * body - response body * cookies - hashref to response cookies

 

This package doesn't smell

Line: 786 to 797
 
Changed:
<
<
This package has smell factor of 13
>
>
This package has smell factor of 12
 

TWiki::Store

Line: 861 to 872
 
  • need to tidy up dealing with \n for differences
  • still have difficulty on line ending at end of sequences, consequence of doing a line based diff
Changed:
<
<

File format

>
>

File format

 
rcstext    ::=  admin {delta}* desc {deltatext}*
Line: 941 to 952
  Forking implementation of the RCS cache search.
Deleted:
<
<

search($searchString, $topics, $options, $sDir) -> \%seen

Search .txt files in $dir for $searchString. See RcsFile::searchInWebContent for details.
 

This package has smell factor of 3

Line: 953 to 960
  Pure perl implementation of the RCS cache search.
Deleted:
<
<

search($searchString, $topics, $options, $sDir) -> \%seen

Search .txt files in $dir for $string. See RcsFile::searchInWebContent for details.
 

This package doesn't smell

Line: 985 to 988
  This package doesn't smell
Changed:
<
<

[[TWikiUIDotPm][]]

>
>

TWiki::UI::Copy

UI delegate for copy function

This package doesn't smell

TWiki::UI

Coordinator of execution flow and service functions used by the UI packages

 

This package doesn't smell

Line: 1006 to 1020
  This package has smell factor of 4
Added:
>
>

TWiki::UI::MdrepoUI

UI delegate for mdrepo function

This package doesn't smell

 

TWiki::UI::Oops

UI delegate for oops function

Line: 1132 to 1154
 No registration - this is a read only usermapper. It uses the mapper prefix 'BaseUserMapping_'.
Changed:
<
<

Users

>
>

Users

 
Changed:
<
<

Groups

>
>

Groups

 
Line: 1199 to 1221
 
Changed:
<
<
This package has smell factor of 6
>
>
This package has smell factor of 7
 

TWiki::Users::HtPasswdUser

Line: 1246 to 1268
  This package has smell factor of 14
Changed:
<
<
There were a total of 220 smells
>
>

There were a total of 219 smells
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.SourceCode.