On 5/2/18 11:24 AM, Deshani Geethika wrote:
> Hi Dave,
> 
> Thanks for the information. I have few questions to be clarified.
> 
> I think replacing spaces with underscores would be a good way to do it,
> since on many wikis they are
> interchangable.  (They aren't for allura, but we could move towards that).
> 
> Here do you mean that spaces and underscores in a title are considered as
> same characters?
> 
> For example : "The Title" is considered same as "The_Title".

Yes that's what I was thinking.

> 
> In this situation, users should not be allowed to create 2 wikis with above
> titles, because we can't handle inbound emails for both scenarios.

Good point, I hadn't thought of that.  That does make this more complicated.
Maybe it could be a followup step to prevent creating a page that conflicts with
another one.  And then even later on we could make URLs handle spaces and
underscores interchangably.

Anyone else have ideas about what would be best?

> 
> Also, we have another problem here.
> 
> Then this handle_message method could try finding a page for that message,
> and if it
> doesn't exist, it can convert any underscores back to spaces and then try
> find
> the wiki page under that name.
> 
> Here do I need to check for all the possible number of combinations of
> underscores and spaces to find out the exact wiki page?


I was thinking if an email comes in for "Foo_Bar_Baz" first look for one titled
"Foo_Bar_Baz" and then one titled "Foo Bar Baz".  Trying every combination could
get crazy.

> 
> Regards!
> 
> 
> 
> On Wed, May 2, 2018 at 7:17 AM, Dave Brondsema <d...@brondsema.net> wrote:
> 
>> Cool.  That email_address property should be the main one and changing it
>> should
>> reflect in the outgoing emails that are sent to subscribers after
>> commenting or
>> editing a wiki page.
>>
>> Allura also supports *inbound* emails on most artifacts including wiki
>> pages.
>> So someone could reply to the wiki email and it would be received by
>> Allura and
>> added as a comment on the wiki page.  The
>> forgewiki.wiki_main.ForgeWikiApp#handle_message method is what is
>> responsible
>> for that.  So that code should be updated as well.  I think replacing
>> spaces
>> with underscores would be a good way to do it, since on many wikis they are
>> interchangable.  (They aren't for allura, but we could move towards
>> that).  Then
>> this handle_message method could try finding a page for that message, and
>> if it
>> doesn't exist, it can convert any underscores back to spaces and then try
>> find
>> the wiki page under that name.
>>
>> To test the inbound mails, I'm unfortunately not seeing any tests in the
>> code.
>> You could add some.  The ForgeWiki/forgewiki/tests/test_app.py file has a
>> TestBulkExport class and you could copy most of its setup, and then add a
>> test_email test case that calls wiki.handle_message.
>>
>> The other way is to use telnet or other tools like that to send the mail
>> into
>> the "inmail" docker compose container, or `paster smtp_server` service if
>> you
>> aren't using docker.  There's an example of doing that in the middle of
>> this
>> page: https://forge-allura.apache.org/p/allura/wiki/Notes/
>>
>> Hope that helps!  It sounds a little more complex of a ticket than I
>> initially
>> thought it would be.  Let us know if you have any more questions or get
>> stuck on
>> anything.
>>
>> -Dave
>>
>> On 5/1/18 12:45 PM, Deshani Geethika wrote:
>>> Hi all,
>>>
>>> During last few days, I spent time on reading the Allura documentation
>> and
>>> on getting familiarized with Allura codebase.
>>>
>>> Then, I have started to work on the ticket - #1699 Fix incoming email for
>>> wiki pages with space in the title
>>> <https://forge-allura.apache.org/p/allura/tickets/1699/>. According to
>> my
>>> understanding, it is required to replace the spaces in the title with
>> null
>>> string (or with some character). Therefore, the getter method for
>>> email_address which is in Page.class in ForgeWiki/forgewiki/model/wiki
>> .py
>>> should be changed as below.
>>>
>>>
>>> @property
>>> def email_address(self):
>>>        if context.app.config.options.get('AllowEmailPosting', True):
>>>                domain = self.email_domain
>>>     * self.title.replace(‘ ‘,’’) // Added line*
>>>                return '%s@%s%s' % (self.title.replace('/', '.'), domain,
>>> config.common_suffix)
>>>        else:
>>>                return tg_config.get('forgemail.return_path')
>>>
>>> Could you tell me whether, do I need to modify any method other than the
>>> above one?
>>>
>>>
>>> Regards!
>>>
>>> On Wed, Apr 25, 2018 at 10:30 PM, Deshani Geethika <
>>> deshanigeeth...@gmail.com> wrote:
>>>
>>>> Hi Dave,
>>>>
>>>> Thanks for the detailed explanation. I will start working on this and
>> come
>>>> back to you with my progress
>>>>
>>>> Regards!
>>>>
>>>> On Wed, Apr 25, 2018 at 9:55 PM, Dave Brondsema <d...@brondsema.net>
>>>> wrote:
>>>>
>>>>> On 4/24/18 11:14 AM, Deshani Geethika wrote:
>>>>>> Hi Dave,
>>>>>>
>>>>>> As per GSoC official time-line, from 23rd April to 14th May period is
>>>>>> considered as "Community Bonding Period".
>>>>>>
>>>>>> During this period I would like to finalize my design and separate my
>>>>>> project into several tickets. Also, I would like to get more
>>>>> familiarized
>>>>>> with Allura code-base and Allura team.
>>>>>>
>>>>>> Could you guide me what would be the best way to start off with.
>>>>>>
>>>>>> Regards!
>>>>>>
>>>>>
>>>>> Sounds like good goals for the community bonding period.
>>>>>
>>>>> I've added you as a developer on our self-hosted Allura project
>>>>> https://forge-allura.apache.org/p/allura/ which means you can assign
>>>>> tickets to
>>>>> yourself, make new ones, update existing ones, etc.  I'd recommend
>> having
>>>>> many
>>>>> small incremental tickets (perhaps even smaller pieces of work than you
>>>>> outlined
>>>>> in the project proposal), so that its easy to manage them and review
>>>>> them.  And
>>>>> of course you don't need to make them all right away :)
>>>>>
>>>>> To familiarize yourself with Allura, you can read more of the
>>>>> documentation -
>>>>> assuming you haven't read it all already ;)
>>>>> https://forge-allura.apache.org/docs/
>>>>>
>>>>> And working on Allura code itself is best.  Find an existing ticket or
>>>>> anything
>>>>> you notice that could be made better, and make a fix for it.  A really
>>>>> easy one
>>>>> that I could suggest is https://forge-allura.apache.or
>>>>> g/p/allura/tickets/1699/
>>>>>
>>>>> I've also noticed that our test suite has failed the past few times:
>>>>> https://builds.apache.org/blue/organizations/jenkins/Allura/activity
>> It
>>>>> probably is related to the "Make debug pages and post permalinks work
>>>>> correctly
>>>>> when behind a proxy" commit.  You could take a look at fixing that if
>> you
>>>>> want.
>>>>> Otherwise I will soon.
>>>>>
>>>>> Lastly, reviewing other people's work is a good way to get familiar
>> with
>>>>> the
>>>>> code and best practices.  I will have a fix for
>>>>> https://forge-allura.apache.org/p/allura/tickets/6353/ coming soon, so
>>>>> watch out
>>>>> for that.  You won't be able to merge my branch to master, but it can
>> be
>>>>> a good
>>>>> way for you to learn from others.  And any constructive feedback would
>> be
>>>>> welcome too, of course.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dave Brondsema : d...@brondsema.net
>>>>> http://www.brondsema.net : personal
>>>>> http://www.splike.com : programming
>>>>>               <><
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Deshani Geethika*
>>>> Undergraduate at Department of Computer Science and Engineering
>>>> Faculty of Engineering - University of Moratuwa Sri Lanka
>>>> LinkedIn <https://www.linkedin.com/in/deshanigeethika/> | GitHub
>>>> <https://github.com/deshanigtk> | Mobile - +94776383034
>>>>
>>>>
>>>
>>>
>>
>>
>>
>> --
>> Dave Brondsema : d...@brondsema.net
>> http://www.brondsema.net : personal
>> http://www.splike.com : programming
>>               <><
>>
> 
> 
> 



-- 
Dave Brondsema : d...@brondsema.net
http://www.brondsema.net : personal
http://www.splike.com : programming
              <><

Reply via email to