CHANGEHISTORY
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:12k
源码类别:

搜索引擎

开发平台:

Java

  1. JSpider CHANGE HISTORY
  2. ----------------------
  3. $Id: CHANGEHISTORY,v 1.79 2003/05/02 17:36:58 vanrogu Exp $
  4. This document contains a list of changes made between releases
  5. The names given next to the date of the release are actually the
  6. CVS tag names that can be used to checkout the specified version.
  7. [ LONG TERM ] Objectives for jspider-1-0-0-rc1
  8. ----------------------------------------------
  9.   Topic                        dev release        status
  10. Documentation / Quality
  11.   user manual                  0.5.0              DONE (+ONGOING)
  12.   developer manual            (0.6.0)             ---
  13.   enough JUnit tests           0.2.0              DONE (+ONGOING)
  14.   mature api                  (0.7.0)             ---
  15. Storage
  16.   memory storage               0.1.0              DONE
  17.   jdbc storage                 0.4.0              DONE
  18. Configuration
  19.   properties files             0.1.0              DONE
  20.   xml files                   (0.7.0)             ---
  21. Interfacing
  22.   gui                         (0.7.0)             ---
  23.   velocity reporting           0.4.0              DONE
  24. Features
  25.   robots.txt                   0.1.0              DONE
  26.   site downloading             0.3.0              DONE
  27.   folder-level model           0.5.0              DONE
  28.   xml reporting                0.5.0              DONE
  29.   email address handling       0.5.0              DONE
  30. [ SOMEDAY ] PLANNED :
  31. ---------------------
  32.   custom classloading (?)
  33.     instead of putting everything on the classpath in startup scripts
  34.       + easy way to add plugins, etc...
  35.     common/lib/*.jar (change /lib to /common/lib)
  36.     common/classes
  37.     common/
  38.   refactor context/agent stuff
  39.   implement DAO cache for DB storage
  40.   refactor EventDispatcherImpl, add FilteringEventDispatcherImpl
  41.   configure url fixing
  42.       - convert backslashes? (Y/N)
  43.       - remove dot folders? (Y/N)
  44.       - strip query? (Y/N)
  45.       - remove trailing slashes? (Y/N)
  46.   diskwriter improvements
  47.       option to map certain extensions to another
  48.         plugin.config.mapping.enabled = true/false
  49.         plugin.config.mapping.from.extension=jsp php pl asp
  50.         plugin.config.mapping.to.extension=html
  51.         plugin.config.mapping.mime=text/html
  52.         change also in links of all resources !
  53.   - improve robots.txt handling:
  54.       max size (DOS attack on spider) + tests ( site.robotstxt.maxsize=... )
  55.       implement allow lines (order!!!) + add tests
  56.       implement double useragents (same rules) in robots.txt (+add test)
  57.       implement 401 and 403 on robots.txt to skip site
  58.       http://www.robotstxt.org/wc/norobots-rfc.txt
  59.   jspider optional addons pack (cvs jspider-optional)
  60.     swing gui plugin (progression, etc...)
  61.   new project site (cvs jspider-site)
  62.   mention/use RFC 2616 (http statuses - do something with these?)
  63.   xml configuration files
  64.   rules that can change an url (remove params, ...)
  65.   Configuration for handling of non-HTTP protocols (ftp,news,https,gopher,...)
  66.   Add HTML WelformedNess Check (While parsing?  Afterwards?)
  67.   improve cookiesupport (path, time to live, ...)
  68.   support multiple fetches of same resource (comparing timing, etc...)
  69.   support decoupled eventDispatcher (per-plugin basis, async, dispatcher thread)
  70.   optimize storage - have notion of added or changed entities and only save those
  71.   support setting case-sensitivity option when comparing URLs
  72.   jdk1.4 logging filepath could be problematic
  73.     if not started from /bin (../x used)
  74.     how to solve ?
  75. [ UPCOMING ] jspider-0-5-0-dev
  76. ------------------------------
  77.   fixed bug that cause 'null' mimetype not to be parsed (found on WebLogic 6.1 SP3)
  78.   updated functional test scripts
  79.   create jspider-site CVS module
  80.   fixed bug in dump script - was not showing urls for each site
  81.   added missing RobotsTXTSkippedEvent.vm velocity template
  82.   changed default url normalizing.  Trailing slash is not trimmed anymore
  83.   fixed bug which caused no resources to be fetched when robots.txt skipped
  84.   removed canstop flag (workaround) on scheduler
  85.   changed download configuration to limit scope to base site
  86.   fixed bug which caused site specific rules to be skipped sometimes
  87.   changed checkErrors configuration to check outgoing links without parsing
  88.   implemented global event filtering flag
  89.   fixed bug of non-relative path to logging config in startup scripts
  90.   refactored storage
  91.     split DAO and DAO-SPI, and introduced middle mapping layer
  92.     summary is now constructed in middle layer
  93.     moved folder ensuring logic into middle layer
  94.   added junit tests
  95.     malformed base url parsing
  96.     email address finding event notifications
  97.   fixed indentation problem in xmldump (info element in included template now indented)
  98.   made clear distinction between site.getRootResources and site.getAllResources
  99.   fixed buggy base href implementation (wrong relative urls in case of folder href)
  100.   changed testscripts (server side) and functional junit tests to work on any host
  101.   fixed bug of not recognising base site if jspider was not started from root
  102.   added JUnit tests
  103.     technical: for URLUtil, URLFinder
  104.     functional: UserAgent, BASE HREF intepretation, model ...
  105.   small refactorings
  106.   got rid of interfaces SpiderWorkerTask and ThinkerWorkerTask
  107.   implemented folder-level interpretation and storage
  108.     default xml report now shows the site structure recursively
  109.   used buffering for reading incoming streams
  110.   changed task type identification from instanceof to type member
  111.   default configuration now only handles the base site
  112.   configuration on per-site level whether it should be handled
  113.   implemented separate site config reference for base site
  114.   implemented feature that flags the base site with a boolean value
  115.   improved User-Agent config:
  116.     default setting compiled into JSpider
  117.     optional override on global level (jspider.properties)
  118.     optional override on a per-site config basis (site config)
  119.   added tool to jspider-tool: email, that fetches all e-mail addresses on a page
  120.   supported count attribute on resource_reference
  121.     (reflects how many times a certain page links to another)
  122.   re-introduced mail addresses, but properly handled this time
  123.     event EMailAddressDiscoveredEvent
  124.     event EMailAddressReferenceDiscoveredEvent
  125.     created object for EMailAddressReference with counter for multiple refs
  126.     EMailAddress address object in model
  127.   implemented BASE HREF interpretation during html parsing
  128.   handle Malformed BaseURLs ( new event MalformedBaseFoundEvent )
  129.   upgraded logging to jakarta commons-logging 1.0.3
  130.   Added XML dump reporting to default config (velocity plugin based)
  131.   fixed bug which caused error while writing Velocity reports
  132.     (fetched references of a non-parsed resources)
  133.   new Rule impl :
  134.     NoURLParamsRule
  135.     MaxNumberOfURLParamsRule ( int )
  136.     BoundedDepthRule ( int min, int max )
  137.     MaxResourcesPerSiteRule ( int max )
  138.   new EventFilter impl :
  139.     NonErrorsOnlyEventFilter
  140.   added JUnit tests
  141.     for rule implementations
  142. BUGS SOLVED:
  143.   #723859 - Fields <timeMs> and <size> swapped in JDBC storage
  144.   #730315 - ResourceFetchErrorEvent: this.httpStatus is never set...
  145. [2003-04-06] jspider-0-4-0-dev
  146. ------------------------------
  147.   refactored storage:
  148.     made sure all JDBC Exceptions are handled well and statements, etc... closed
  149.     implemented cookie support via their own DAO
  150.     supported Cookies in JDBC storage
  151.     used int id as unique ids in JDBC storage impl, instead of URLs
  152.     changed resource reference storage + implemented it in JDBC storage
  153.     moved resource references out of SiteInternal implementation
  154.     added ContentDAO for resource content.  This way, it is not fetched with the resource info each time
  155.     refactored decision and decision step storage as a separate DAO
  156.     implemented decision and decision step storage in JDBC
  157.   added xdocs about threading configuration
  158.   updated xdocs about site configuration
  159.   refactoring: moved Plugin, EventFilter and Rule to spi package
  160.   refactoring: moved rule implementations to mod package
  161.   introduced .config.* in throttle configuration
  162.   implemented monitoring of blocked and assigned task counter in scheduler
  163.   upgraded templating engine in velocity plugin to velocity 1.3.1 (final)
  164.   changed literal config names (default, tool, unittest) to final Strings on ConfigurationFactory
  165.   fixed bug that caused some resources to be blocked twice, fetched twice, and kill JSpider with a fatal exception
  166.   fixed bug that caused wrong userAgent to be used when retrieving robots.txt
  167.   reworked configuration
  168.     put config keys in final Strings (interface ConfigConstants)
  169.     renamed properties in configuration files for more uniformity
  170.   added junit tests for plugin instantiation logic
  171.   create rules with properties
  172.   new rule impl
  173.     ForbiddenPatternRule - like robots.txt DisAllows - configured per site
  174.   fixed bug that caused HTTP headers not to be saved in case of a 404 error
  175.   fixed bug that causes zero-length-string site host to be saved (eg: in mailto protocol)
  176.   fixed bug which caused html interpretation to be done by spider threads (implemented wrong tagging interface)
  177.   added velocity-dump next to velocity-trace
  178.   added getters to all api event classes
  179.   brought all config files in sync (put latest config additions)
  180.   jspider-tool: disabled logging by default
  181.   better handling of malformed urls found while parsing (event impl)
  182.   changed instantiation of plugins.  First, a config-param ctr is searched now, then a no-args ctr
  183.   fixed resource length of -1 that used to be reported sometimes
  184.   added logging via jakarta commons-logging, support for log4j and jdk1.4 logging
  185.   implemented some command-line tools with jspider
  186.     fetch, info, headers, download, findlinks
  187.     e.g.: jspider-tool download http://j-spider.sourceforge.net/robots.txt
  188.   added velocity reporting mechanism (velocity config)
  189.   synchronized access to plugin (monitor events can come in any time)
  190.   migrated storage to a more DAO-driven architecture
  191.   implemented preliminary jdbc storage option
  192.   jspider can now be configured not to obey robots.txt for a site
  193.   new rule implementations :
  194.     OnlyDeeperInSiteRule
  195.   several small bugfixes
  196.   several small refactorings
  197. [2003-02-23] jspider-0-3-0-dev
  198. ------------------------------
  199.   (This is mainly a refactoring release, with minor new functionality)
  200.   new standard configuration 'download' (DiskWriter plugin)
  201.   output folder to be used as default output folder
  202.   improved ant script
  203.   added continuous integration support
  204.   added unit tests (for rule implementations, ...)
  205.   added history (logging) of decisions on resource (which rule decided what)
  206.   reworking of threading system with more fine-grained task and thread statuses
  207.   multiple cookie support
  208.   http header support
  209. [2003-01-04] jspider-0-2-0-dev
  210. ------------------------------
  211.   Internal changes:
  212.     - reduced responsability of the Agent
  213.     - implemented TaskScheduler
  214.     - Storage is purely storage now
  215.   Better cookie support (on a per-site basis)
  216.   Better robots.txt handling
  217.   New throttle implementation that simulates simultaneous users
  218.   Maven-enabled the project
  219.     added first xdocs for user manual (installation + configuration docs)
  220.   Fixed some threading problems
  221.   Added JUnit tests
  222.   added Unix startup script
  223.   Added new Event Filter implementations
  224.     ErrorsOnlyEventFilter (404/500/...)
  225.   Uniform output system (Log)
  226.     SystemOutLog
  227.     DevNullLog
  228.   added monitor support (daemon thread dispatching MonitorEvents)
  229.     for WorkerThreadPools
  230.     for JobScheduler
  231.   Event Filtering per event type: Engine/Monitoring/Spider
  232.   Better plugin support
  233.     multiple plugins, each with custom configuration
  234.     optional event filtering on a per-plugin basis in addition to global filtering
  235.   Better configuration support
  236.     implemented JSPIDER_HOME variable support for easy configuration
  237.     abstracted to allow addition of non-properties files based config in the future
  238.   Add Engine Event SpideringSummary -> total urls, errors, etc ...
  239.   Added JUnit support part on site (j-spider.sourceforge.net) to test jspider upon
  240.     developed some first functional JUnit tests with this site
  241.   improved the rules implementation
  242.   added unit tests for robots.txt support and parsing capabilities
  243.   added Statusbased FileWriter Plugin
  244.   added new default configuration checkErrors
  245.   added JUnit tests for cookie support
  246. [2002-11-20] jspider-0-1-0-dev
  247. ------------------------------
  248.   initial release
  249.   robots.txt support
  250.   in memory storage of gathered data
  251.   basic plugin support ( console / devnull )
  252.   Basic Rules impl ( InternalSiteOnly, RobotsTXTFile )
  253.   Basic event Filtering ( AllowAllEventFilter )