Is there an actual RFC? All I find is draft-ietf-morg-inthread-01. Looking at that draft, the only difference between REFS ad REFERENCES is this:

    THREAD=REFS sorts threads by the most recent INTERNALDATE in each
    thread, replacing THREAD=REFERENCES step (4). This means that when a
    new message arrives, its thread becomes the latest thread. (Note
    that while threads are sorted by arrival date, messages within a
    thread are sorted by sent date, just as for THREAD=REFERENCES.)


This being the case, I don't think we need two copies of the threading functions. I'd modify the exiting functions to take an additional parameter to specify whether we're doing REFS or REFERENCES and then have 2 wrapper functions which call the main function with the parameter set appropriately for the given algorithm.


On 07/08/2016 10:03 AM, Gabriele Bulfon wrote:
Ok, it works :) but checking against dovecot implementation, it looks like they have refs order same as references, but without subject grouping. AFAIK the RFC on refs says ordering of dates within the group should be reversed. Am I wrong?

----------------------------------------------------------------------------------------
*Sonicle S.r.l. *: http://www.sonicle.com <http://www.sonicle.com/>
*Music: *http://www.gabrielebulfon.com <http://www.gabrielebulfon.com/>
*Quantum Mechanics : *http://www.cdbaby.com/cd/gabrielebulfon

------------------------------------------------------------------------


*Da:* Gabriele Bulfon via Info-cyrus <info-cyrus@lists.andrew.cmu.edu>
*A:* Ken Murchison <mu...@andrew.cmu.edu> info-cyrus@lists.andrew.cmu.edu
*Data:* 8 luglio 2016 15.22.56 CEST
*Oggetto:* Re: thread=refs


    Testing ;) and checking against a dovecot machine with refs and
    same messages.
    Will let you know

    
----------------------------------------------------------------------------------------
    *Sonicle S.r.l. *: http://www.sonicle.com <http://www.sonicle.com/>
    *Music: *http://www.gabrielebulfon.com
    <http://www.gabrielebulfon.com/>
    *Quantum Mechanics : *http://www.cdbaby.com/cd/gabrielebulfon

    ------------------------------------------------------------------------


    *Da:* Ken Murchison <mu...@andrew.cmu.edu>
    *A:* gbul...@sonicle.com info-cyrus@lists.andrew.cmu.edu
    *Data:* 8 luglio 2016 15.02.38 CEST
    *Oggetto:* Re: thread=refs




        On 07/07/2016 02:03 PM, Gabriele Bulfon via Info-cyrus wrote:
        I can finally get back to this after so many months!
        I checked the sources, and I actually see it doesn't look
        very hard.

        Looks like:
        - renaming all functions like "index_thread_ref" into
        "index_thread_references"
        - duplicate them as "index_thread_refs"
        - let "references" alg call the "references" funcs
        - add support for "refs" in thread_algs and let them call the
        "refs" funcs

        Makes sense.



        then:
        - completely remove the call to "ref_group_subjects", we
        don't want it at all in refs
        - change the sortcrit to use the SORT_REVERSE modifier

        As long as you mean making these changes for just the "refs"
        variant and not both.




        what do you think? may be fine?

        
----------------------------------------------------------------------------------------
        *Sonicle S.r.l. *: http://www.sonicle.com
        *Music: *http://www.gabrielebulfon.com
        *Quantum Mechanics : *http://www.cdbaby.com/cd/gabrielebulfon

        ------------------------------------------------------------------------


        *Da:* Ken Murchison <mu...@andrew.cmu.edu>
        *A:* info-cyrus@lists.andrew.cmu.edu
        *Data:* 5 ottobre 2015 14.04.02 CEST
        *Oggetto:* Re: thread=refs


            As far as I can tell, the last specification for
            thread=refs was
            here:https://tools.ietf.org/html/draft-ietf-morg-inthread-01

            To implement this you want to look at index.c in the
            Cyrus source and add another entry to the thread_algs[]
            array. I'm guessing that you can reuse a lot of the
            existing index_thread_ref() code (which is probably needs
            to be renamed to index_thread_references()).



            On 10/05/2015 06:07 AM, Gabriele Bulfon wrote:
            Great, Ken. Can you give me some advice / pointer to the
            sources I should look at?

            Gabriele

            
------------------------------------------------------------------------


            *Da:* Ken Murchison <mu...@andrew.cmu.edu>
            *A:* info-cyrus@lists.andrew.cmu.edu
            *Data:* 2 ottobre 2015 19.08.04 CEST
            *Oggetto:* Re: thread=refs


                On 10/02/2015 10:53 AM, Gabriele Bulfon wrote:
                Nice, it's not a big deal for us to upgrade to new
                versions, surely easier than porting to Dovecot! ;)

                So, maybe we can help with the implementation.
                In my mind, it's almost about changing the
                "thread=reference" and let it omit the subject
                matching, change sorting
                and...maybe just this? How much hard do you think
                it is?


                That sounds about right from what I remember of
                THREAD=REFERENCES (which I co-authored and
                implemented) and THREAD=REFS (which I think was last
                documented in 2010).



                
------------------------------------------------------------------------


                *Da:* Bron Gondwana <br...@fastmail.fm>
                *A:* info-cyrus@lists.andrew.cmu.edu
                *Data:* 2 ottobre 2015 12.59.08 CEST
                *Oggetto:* Re: thread=refs


                    No, there isn't. The conversations work in 3.0
                    beta contains a lot of what would be required
                    to efficiently implement THREAD=REFS, but
                    nobody has done the work to implement it.
                    It certainly will never be backported to the
                    2.4 series, which is only getting security
                    updates and fixes for major bugs now.
                    Regards,
                    Bron.
                    On Fri, Oct 2, 2015, at 18:40, Gabriele Bulfon
                    wrote:
                    Hi,
                    we have systems running cyrus 2.4.12, where
                    thread algorithms are only references and
                    orderedsubject.
                    Is there support for the thread=refs algorithm?
                    Thanks
                    Gabriele
                    ----
                    Cyrus Home Page: http://www.cyrusimap.org/
                    List Archives/Info:
                    http://lists.andrew.cmu.edu/pipermail/info-cyrus/
                    To Unsubscribe:
                    https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
                    --
                    Bron Gondwana
                    br...@fastmail.fm



                ----
                Cyrus Home Page:http://www.cyrusimap.org/
                List 
Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/
                To Unsubscribe:
                https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus


-- Kenneth Murchison
                Principal Systems Software Engineer
                Carnegie Mellon University



            ----
            Cyrus Home Page:http://www.cyrusimap.org/
            List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/
            To Unsubscribe:
            https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus

-- Kenneth Murchison
            Principal Systems Software Engineer
            Carnegie Mellon University



        ----
        Cyrus Home Page:http://www.cyrusimap.org/
        List Archives/Info:http://lists.andrew.cmu.edu/pipermail/info-cyrus/
        To Unsubscribe:
        https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus

-- Kenneth Murchison
        Principal Systems Software Engineer
        Carnegie Mellon University

    ----
    Cyrus Home Page: http://www.cyrusimap.org/
    List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
    To Unsubscribe:
    https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus


--
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University

----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
To Unsubscribe:
https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus

Reply via email to