openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kay Schenk <kay.sch...@gmail.com>
Subject Re: [PROPOSAL] lazy consensus for new News scrolling
Date Wed, 09 Jan 2013 00:06:27 GMT


On 01/08/2013 02:55 PM, Rob Weir wrote:
> On Tue, Jan 8, 2013 at 4:59 PM, Kay Schenk <kay.schenk@gmail.com> wrote:
>>
>>
>> On 01/07/2013 05:07 PM, Dave Fisher wrote:
>>>
>>>
>>> On Jan 7, 2013, at 12:39 PM, Rob Weir wrote:
>>>
>>>> On Fri, Jan 4, 2013 at 1:12 PM, Kay Schenk <kay.schenk@gmail.com> wrote:
>>>>>
>>>>> On Thu, Jan 3, 2013 at 4:09 PM, Rob Weir <robweir@apache.org> wrote:
>>>>>
>>>
>>> <snip>
>>>
>>>>>> Since this is the visitors first impression of the project, I wonder
>>>>>> if it is worth exploring further to see if there is a way to address
>>>>>> these issues?   As I mentioned before, the ASF home page has a "latest
>>>>>> activity" panel that avoids both of these problems:
>>>>>>
>>>>>> http://www.apache.org/
>>>>>>
>>>>>> Can we copy what they do?
>>>>>>
>>>
>>> Yes. See below where I show where to find the rest of the code that Rob
>>> has tracked down.
>>>
>>> We can handle it like a feed with ASF::Value type patterns in path.pm
>>>
>>> Or we can use xslt and parse a file file in view.pm
>>>
>>> Or a combination.
>>>
>>>
>>>>>
>>>>> ummm...not sure about this. We would need to do more thorough
>>>>> investigation
>>>>> here. Right now, I can not easily determine how this column is generated
>>>>> --
>>>>> manually vs something else.
>>>>>
>>>>
>>>> I did a little research on how the ASF home page works.
>>>>
>>>> You cans see the source here:
>>>> http://svn.apache.org/repos/asf/infrastructure/site/trunk/
>>>>
>>>> index.html is here:
>>>>
>>>> http://svn.apache.org/repos/asf/infrastructure/site/trunk/content/index.html
>>>>
>>>> and Latest Activity looks like this:
>>>>
>>>> <h3>Latest Activity</h3>
>>>>        <div class="section-content">
>>>>          <p><em>This is an overview of activity going on with
our
>>>> projects. SVN commits, bug reports, tweets, you name it</em>.</p>
>>>>        </div>
>>>>
>>>>                           {% for e in twitter.list %}
>>>>                           <div class="section-content">
>>>>                           <a href="{{ e.url }}">@</a>{{ e.title|safe
}}
>>>>                           </div>
>>>>                           {% endfor %}
>>>>
>>>>                          {% for e in svn.list %}
>>>>                          <div class="section-content">
>>>>                          <a class="svn"
>>>> href="http://svn.apache.org/viewvc?revision={{ e.revision
>>>> }};view=revision">r{{ e.revision }}</a>
>>>>                            {{ e.message|safe|truncatewords_html:20 }} ({{
>>>>                            e.projects|safe }}) &mdash;
>>>>                            <a
>>>> href="http://people.apache.org/committer-index.html#{{ e.author }}">{{
>>>> e.author }}</a>
>>>>                          </div>
>>>>                          {% endfor %}
>>>>
>>>>                           {% for e in jira.list %}
>>>>                           <div class="section-content">
>>>>                           <a class="bug" href="{{ e.url }}">{{
>>>> e.title|safe }}</a><br/>
>>>>                           {{ e.content|safe|truncatewords_html:20 }}
>>>>                           </div>
>>>>                           {% endfor %}
>>>>
>>>>      </div>
>>>>
>>>>
>>>>
>>>> So they are iterating over twitter.list, svn.list and jira.list.  But
>>>> it is not leaping out at me where that data comes from.  Presumably it
>>>> is RSS/Atom feeds, but I don't see the glue that connects this.
>>>
>>>
>>> Take a look at www.apache.org's trunk/lib/path.pm:
>>>
>>> our @patterns = (
>>>
>>>       [qr!^/index\.html$!, news_page =>
>>>         {
>>>           svn      => ASF::Value::SVN->new(limit => 5),
>>>           jira     => ASF::Value::Jira->new(limit => 5,
>>>                                             url =>
>>> "http://s.apache.org/q4"),
>>>           announce => ASF::Value::Mail->new(list => 'announce@apache.org',
>>>                                             limit => 3),
>>>           planet   => ASF::Value::Blogs->new(blog => "planet", limit=>
3),
>>>           blog     => ASF::Value::Blogs->new(blog => "foundation", limit=>
>>> 3),
>>>           twitter  => ASF::Value::Twitter->new(name => 'TheASF', limit
=>
>>> 3),
>>>         },
>>>       ],
>>>
>>>       [qr!^/dev/index\.html$!, news_page =>
>>>         {
>>>           svn      => ASF::Value::SVN->new(limit => 5),
>>>           twitter  => ASF::Value::Twitter->new(name=>"infrabot", limit
=>
>>> 3),
>>>           blog     => ASF::Value::Blogs->new(blog => "infra", limit=>
3),
>>>           jira     => ASF::Value::Jira->new(limit => 5,
>>>                                             url =>
>>> "http://s.apache.org/lg"),
>>>         },
>>>       ],
>>>
>>>       [qr!^/dev/sitemap\.html$!, sitemap => { headers => { title =>
>>> "Developer Sitemap" }} ],
>>>
>>>       [qr!^/licenses/exports/index\.html$!, exports => {} ],
>>>
>>>       [qr!\.mdtext$!, single_narrative => { template =>
>>> "single_narrative.html" }],
>>> );
>>>
>>> And also view.pm, doap2perl.xsl and list2urls.xsl
>>>
>>> sub news_page {
>>>       my %args = @_;
>>>       my $count=0;
>>>       for (fetch_doap_url_list()) {
>>>           my $result = parse_doap($_);
>>>           next unless defined $result;
>>>           push @{$args{projects}}, $result;
>>>           last if ++$count == 3;
>>>       }
>>>
>>>       return ASF::View::news_page(%args);
>>> }
>>>
>>> sub parse_doap {
>>>       my $url = shift;
>>>       my $doap = get $url or die "Can't get $url: $!\n";
>>>       my ($fh, $filename) = tempfile("XXXXXX");
>>>       print $fh $doap;
>>>       close $fh;
>>>       my $result = eval `xsltproc lib/doap2perl.xsl $filename`;
>>>       unlink $filename;
>>>       return undef if $result->{pmc} =~ m!^http://attic\.apache\.org!;
>>>       return $result;
>>> }
>>>
>>> sub fetch_doap_url_list {
>>>       my $xml = get
>>> "http://svn.apache.org/repos/asf/infrastructure/site-tools/trunk/projects/files.xml"
>>>           or die "Can't get doap file list: $!\n";
>>>       my ($fh, $filename) = tempfile("XXXXXX");
>>>       print $fh $xml;
>>>       close $fh;
>>>       chomp(my @urls = grep /^http/, `xsltproc lib/list2urls.xsl
>>> $filename`);
>>>       unlink $filename;
>>>       shuffle \@urls;
>>>       return @urls;
>>> }
>>>
>>>
>>>
>>>>
>>>> But in any case, if this is doable within the CMS -- as it appears to
>>>> be -- then one option would be for us to format our news stories as
>>>> Atom or RSS feeds.  Then those can be sucked into a panel on the
>>>> homepage.  But the nice thing then is the same logic could be used to
>>>> put in a list of new bug reports, or forum posts, or check-ins, or
>>>> conference paper submissions, or whatever other useful info we can
>>>> find a feed for.   We set up a generic capability that could find
>>>> other users.
>>>
>>>
>>> The CMS has perl libraries here:
>>>
>>> URL: https://svn.apache.org/repos/infra/websites/cms/build/lib/ASF
>>>
>>> ./SVNUtil.pm
>>> ./Util.pm
>>> ./Value/Blogs.pm
>>> ./Value/Jira.pm
>>> ./Value/Mail.pm
>>> ./Value/SVN.pm
>>> ./Value/Twitter.pm
>>> ./Value.pm
>>> ./View.pm
>>>
>>> Best Regards,
>>> Dave
>>
>>
>> OK, this is interesting, and thanks for all the useful information. I'm
>> going to take a wild guess here without looking at the modules yet and say
>> the "limit" variable is used to limit each of these feeds to 5 instances of
>> whatever the feed contains.
>>
>> At any rate, we could do something like this but it still would not solve a
>> LONG column without scrolling capabilities problem.
>>
>
> I had the impression we had two main layout options:  1) Give a fixed
> space to the column, and scroll if the content requires more space, or
> 2) display the column with its natural height, which would push the
> page footer further down.
>
> Doing 2) should be OK if we can limit the new stories to a reasonable
> number.  (That's essentially what we started with, right?).
>
> -Rob

well ... we could 2) *now* with the News stuff and just chop off what we 
think is way past it's prime, and change the styling so no scroll bars 
appear.

My opinion is that once we get articles past say roughly 5" longer than 
the main part of the page -- the important menu items, things start 
looking pretty ugly. But maybe that's just me.

And, I don't really like the idea of pushing the footer out of sight if 
you will because it does contain important information.

At any rate, so far so far no joy with how to do "better" scroll 
bars...I'm still looking


>
>
>> But, we should investigate/test/try this I think.
>>
>>
>>>
>>>
>>>>
>>>> -Rob
>>>>
>>>>
>>>>> In any case, removing the scrolling styling from the current ssi would
>>>>> certainly do away with the bars. If we wanted to keep all the news items
>>>>> in
>>>>> one file but only bring in like the last 10 or something, there MAY be
a
>>>>> way to do that. You could certainly do it either with server side JS
or
>>>>> a
>>>>> cgi.
>>>>>
>>>>> Anyway, I will hold up on this change for now I guess.
>>>>>
>>>>> I agree that the scroll "bars" don't look very professional. I may find
>>>>> some nicer looking scrolling mechanism...
>>>>>
>>>>>
>>>>>
>>>>>> -Rob
>>>>>>
>>>>>>> Thereafter all "news" items will not be added to the home page
>>>>>>> directly
>>>>>>
>>>>>> or
>>>>>>>
>>>>>>> to /news/index.html, but to /news/newslist.ssi (this is a text
file,
>>>>>>> not
>>>>>>> html), LIFO order, maintaining the styling you see for other
items
>>>>>>> there.
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> ------------------------------------------------------------------------
>>>>>>> MzK
>>>>>>>
>>>>>>> "No act of kindness, no matter how small, is ever wasted."
>>>>>>>                                   -- Aesop
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> ----------------------------------------------------------------------------------------
>>>>> MzK
>>>>>
>>>>> "No act of kindness, no matter how small, is ever wasted."
>>>>>
>>>>> --
>>>>> Aesop
>>>
>>>
>>
>> --
>> ------------------------------------------------------------------------
>> MzK
>>
>> "No act of kindness, no matter how small, is ever wasted."
>>                                   -- Aesop

-- 
------------------------------------------------------------------------
MzK

"No act of kindness, no matter how small, is ever wasted."
                                  -- Aesop

Mime
View raw message