Documentation for Extra Sections incorrect?

Developers
2004-01-21
2012-10-11
  • Matthias Fichtner

    In AWStats 6.0 (build 1.701), both the documentation in awstats_extra.html and the comments in awstats.model.conf say the following about Extra Section conditions:

    # ExtraSectionConditionalX are conditions
    # you can use to count or not the hit,
    # Use one of the field condition (URL,
    # QUERY_STRING, REFERER, UA, HOST),
    # and a regex to match after a coma.
    # Use "|" for "OR". If you use several
    # conditions, they will be combined as "AND".

    This explanation as well as the examples provided indicate that in order to combine conditions using "OR", you need to put the pipe character "|" directly between two conditions. Like this:

    ExtraSectionCondition1="URL,cond1.html|URL,cond2.html"

    This does, however, not work. Looking at the source code (lines 1628 ff.), I'd say that the software expects some whitespace around the pipe character. Like this -- which indeed works a lot better:

    ExtraSectionCondition1="URL,cond1.html | URL,cond2.html"

    With the "OR" mystery solved, I next tried "AND". But for the life of me, I can't figure out how to "use several conditions" (as stated in the documentation) in order to have the software combine them using "AND". In fact, I can't even find the code in awstats.pl that would implement "AND" for Extra Section conditions. The code in lines 6633 ff. only seems to implement "OR".

    So my question is: Could it be that this feature is not yet implemented? Or am I missing something? It just doesn't seem to be possible to define an Extra Section that, for example, counts all request for a certain URL coming from a certain HOST ...

     
    • Laurent Destailleur (Eldy)

      The AND support was lost in a code change.
      I will try to restore it in a next version.
      I will also fix the OR.

       
      • Matthias Fichtner

        Thanks for the confirmation.

        There's one more thing I noticed: Since the pipe character (|) is used for OR constructs within regular expressions, it's probably not the best idea to also use it for separating multiple conditions from each others. Or the code that analyzes Extra Section conditions needs to make sure that regular expressions with pipe characters are not split into multiple conditions.

         
      • leonbloy

        leonbloy - 2004-08-20

        If I'm not mistaken this issue
        (AND in ExtraSectionCondition not implemented) seems to be still unfixed in version 6.2
        (aug. 2004).
        Am I right ?

         
    • Laurent Destailleur (Eldy)

      The or is now "||"
      and the AND is still not available

       
  • Christophe LACOMBE

    Hi,

    I'm also, a lot interested into the AND implementation in
    ExtraSectionCondition. It seems to not be reimplemented, isn't it?
    I need count the nb of hits for a specific URL on a specific Virtual Host
    stored into an extra1 in the log file. How you will suggest to do it? For me,
    it would be an AND operator on the ExtraSectionCondition like:
    ExtraSectionCondition1="extra1,^my.virtual.host$ && URL,^\/myrul$"
    I can work on the patch if you want but It seems to me complex to combine the
    AND and the OR, so I plan to limit the usage only to a succession of OR or of
    AND. What do you think?

    Thanks.

     
  • Jean-Luc

    Jean-Luc - 2010-10-07

    Hi,

    It is true that there is no AND in extra sections, but I guess that you do not
    need to change awstats.pl to do what you want.

    Just put the condition about the virtual host in ExtraSectionConditon1 and the
    condition about the URL in ExtraSectionFirstColumnValues1 and you are done.

    Jean-Luc, InternetOfficer AWStats
    Support

     
  • Christophe LACOMBE

    Hi,

    First thanks a lot for this quick reply.
    Sorry to not have been enough clear but in fact what I want exactly is the nb
    of hits per user for a specific VHost on a specific URL. The only solution I
    see for that (but I may be wrong) is:

    ExtraSectionCondition5="extra1,^my.virtual.host(:80)? && URL,\/+index.psp$"
    ExtraSectionFirstColumnTitle5="User"
    ExtraSectionFirstColumnValues5="HOST,(.*)"
    ExtraSectionFirstColumnFormat5="%s"
    ExtraSectionStatTypes5=HL

    Or may be there is a solution by doing a plugin?

    You may also be surpeise by the (:80)?, but this is because with my LogFormat
    = "%extra1:%extra2 %host %other... extra1 should capture the VHost and extra2
    the port, but when I display the extran, they all have the value
    my.virtual.host:80 even extra3 that should not exist. As I cannot figure out
    why, I found this workaround. May be I should open an other topic for that?

    Thanks.
    Best regards, Christophe.

     
  • Jean-Luc

    Jean-Luc - 2010-10-07

    Christophe,

    Sorry that my suggestion above does not work for you.

    You might need a special software development or try with a separate config
    file for my.virtual.host. I mean that it would generate a complete set of
    AWStats reports with %virtualname in LogFormat and with
    SiteDomain="my.virtual.host" or SiteDomain="my.virtual.host:80"
    and it would include the extra section showing the hosts with the condition on
    the URL. Not sure that it meets your requirements though.

    Jean-Luc, InternetOfficer AWStats
    Support

     

Log in to post a comment.