You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Sergey Beryozkin <sb...@gmail.com> on 2010/08/05 17:18:02 UTC

Re: [GSOC] Simple and lightweight HTML-based browser for surveying Apache CXF logs

Hi Tomasz


I've rebuilt the latest demo yesterday evening and run it but did not finish
this email, sending now - as I've seen a reminder on the mentors list the
code freeze is at 16 Aug. There are still few bits and pieces to improve but
the progress is obvious.

Here're the comments :

1. it's not possible to add more than 1 endpoint; adding a new endpoint
overwrites the new one.

2. please remove milliseconds in dates - they make a single date and hence
the entry in the top right corner to occupy 2 lines; also as long as
AtomPullServer ensures the records follow each other in the order they were
submitted by the log subsystem the milliseconds are not really critical; we
will deal later on with letting users to customize the views so milliseconds
can be dealt with later on

these are less critical :


3. The demo lets users add/get/delete a customer which is fine; there was
still 'Generate log entries' option there, I did not have time to check if
it was handled by GenerateServlet or not. I think it would just make sense
to remove 'Generate log entries' altogether and have logs generated during
customer-related invocations

4. please update the custom endpoint code to generate logs with different
levels (ex INFO, FINE/DEBUG)

5. try to configure the demo to have the log entries produced by the CXF
runtime blocked for now and have only the logs generated by the application
endpoint's code displayed; if you were using Spring then you could've
configured a 'loggers' property on the AtomPullServer bean:

<property name="loggers"
value="org.apache.cxf.systest.jaxrs.JAXRSLoggingAtomPullSpringTest$Resource"/>

You can configure this property in AtomPullServer in your custom Application
explicitly

6.please check how you register JAXRS providers with Application - I can see
warnings that they're both singletons & per-request ones

7. When we have more than 25 records, say 30 then I can see both 'next' &
'last' links. I thought AtomPullServer would offer both links only when the
next page is not the last one, but in this case the next one is the last
one. Please just confirm that the browser does not add the 'last' link
itself

Only if you have any time left (can be addressed after the end of the GSOC
project)

8. Please show the newest records on top (we can configure the preferences
later on). I think AtomPullServer returns them last but for the display
purposes I'd prefer the opposite, ex, I had more than 1 page, and was on the
first one, then tried to get a customer but had to go to the next page in
order to see the related log entries

9. can you try to enable a login dialog only if the server challenges ?
See we have two cases : unsecure plain HTTP connection and thus there's no
point in asking for the name & password info. Or we may have HTTPS and if we
do then the browser should get back a challenge and then a log-in dialog
will be shown - this assumes the browser is capable of working with the
HTTPS endpoints - you can definitely look at it once the project completes,
as part of enhancing and merging it all to the trunk


Please address some of the issues above (say 1, 2 and something from 3-7)
and I think we can consider this project be a success and then hopefully
you'll start working on enhancing it a bit more and preparing for the merge
to the trunk

thanks, Sergey


On Sat, Jul 31, 2010 at 6:02 PM, Tomasz Oponowicz <
tomasz.oponowicz@gmail.com> wrote:

> Hi Sergey,
>
> Referring to commit r981073, I introduce as fallows changes (include
> your comments):
>
> - Added word wrap to entry content;
> - Added fancy exception handler;
> - Hided security fields in "add/edit endpoint" dialog box;
> - Added Customer service and client (for easy interact) to sample -
> service produces log entries which simulate using LogBrowser in
> production environment;
> - Updated default AtomPullServer's pageSize from 40 to 25;
> - Added restoring entry selection when change page;
> - Added validation for "Copies" fiels in sample;
> - Added support for arrows in entries list;
> - Replace cutting message with "title" property;
> - Added milliseconds to datetime format;
> - Fixed clearing entries list - added removing all cells rather than
> clearing content;
> - Added validation for "name" and "url" in "add/edit endpoint" dialog box;
>
> I think all issues and missing features has been resolved. If you mind
> I'll come back to refactoring, adding documentation etc.
>
> Below I gather all your previous comments, which has been resolved in
> last commit:
>
> On Thu, Jul 29, 2010 at 1:38 PM, Sergey Beryozkin <sb...@gmail.com>
> wrote:
> >> However I also found issues (I will fix them ASAP):
> >>
> >> - Hide security fields (username, password etc) in "Add/Edit endpoint"
> >> dialog box (because I won't implemented authentication for endpoints
> >> in the near future,)
> >> - Add more advanced exception handler for easy investigating exception;
> >> - Add word wrap to entry content;
>
> Done.
>
> >> > - the log entry content does not show now date/level but it has some
> >> > prefixes which I'm not sure about, ex, if the log entry in the list in
> >> the
> >> > top right corner reads DEBUG SomeTime "1" then what is displayed below
> id
> >> > "[12]1", so no level & time but some bogus "[12]" prefix
>
> Done.
>
> >> > - GenerateServlet still causes issues for me, had to enter 40 entries
> 1 by 1
>
> Fixed - it should work without any problem, but to make sure I add
> numbers only ability to input and fail fast when can't parse number in
> GenerateServlet.
>
> >> >  but rather introduce a JAXRS app
> >> > endpoint which generates some custom log entries and have the browser
> >> > involking on that endpoint as discussed earlier on.
>
> Done.
>
> >> > - Update AtomPullServer to have say a 20-25 limit per page by default
> - I
> >> > put 40 originally but it is too much..
>
> Done.
>
> >> > - Key Focus is lost periodically. Example, I have to select an
> individual
> >> > log entry in the top right corner. But it has to be selected once I
> >> select
> >> > TestEndpoint in the left pane (if the entries already exist) or after
> >> > Refresh and the focus should stay there on that initial entry. If I
> now
> >> > press 'next' I should see the first entry in the next list selected
> again
> >> > and the same should happen when I press previous. May be this is not
> easy
>
> Done.
>
> >> If possible :-) It would also be nice to be able to browse using just
> > keyboard (using up and down arrows) - but it would be an additional
> > enhancement
>
> Done.
>
> --
> Best regards,
> Tomasz Oponowicz
>

Re: [GSOC] Simple and lightweight HTML-based browser for surveying Apache CXF logs

Posted by Tomasz Oponowicz <to...@gmail.com>.
Hi Sergey,

I forgot to mention that currently I'm going to add some documentation
and JavaDoc before 16th August.

On Sun, Aug 8, 2010 at 12:06 PM, Tomasz Oponowicz
<to...@gmail.com> wrote:
> Hi Sergey,
>
> I've just finished refactoring (in revision 983258, 983286). I think
> source code now looks much better.
>
> In revision 983373 I fixed bugs and add features described by your comments.
>
> On Thu, Aug 5, 2010 at 5:18 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
>> Hi Tomasz
>>
>>
>> I've rebuilt the latest demo yesterday evening and run it but did not finish
>> this email, sending now - as I've seen a reminder on the mentors list the
>> code freeze is at 16 Aug. There are still few bits and pieces to improve but
>> the progress is obvious.
>>
>> Here're the comments :
>>
>> 1. it's not possible to add more than 1 endpoint; adding a new endpoint
>> overwrites the new one.
>
> Fixed. Before testing please remove "logbrowser-settings.xml" file in
> main directory of sample project.
>
>> 2. please remove milliseconds in dates - they make a single date and hence
>> the entry in the top right corner to occupy 2 lines; also as long as
>> AtomPullServer ensures the records follow each other in the order they were
>> submitted by the log subsystem the milliseconds are not really critical; we
>> will deal later on with letting users to customize the views so milliseconds
>> can be dealt with later on
>>
>
> Done.
>
>> these are less critical :
>>
>>
>> 3. The demo lets users add/get/delete a customer which is fine; there was
>> still 'Generate log entries' option there, I did not have time to check if
>> it was handled by GenerateServlet or not. I think it would just make sense
>> to remove 'Generate log entries' altogether and have logs generated during
>> customer-related invocations
>
> Done.
>
>> 4. please update the custom endpoint code to generate logs with different
>> levels (ex INFO, FINE/DEBUG)
>
> Done.
>
>> 5. try to configure the demo to have the log entries produced by the CXF
>> runtime blocked for now and have only the logs generated by the application
>> endpoint's code displayed; if you were using Spring then you could've
>> configured a 'loggers' property on the AtomPullServer bean:
>>
>> <property name="loggers"
>> value="org.apache.cxf.systest.jaxrs.JAXRSLoggingAtomPullSpringTest$Resource"/>
>>
>> You can configure this property in AtomPullServer in your custom Application
>> explicitly
>>
>
> Done.
>
>> 6.please check how you register JAXRS providers with Application - I can see
>> warnings that they're both singletons & per-request ones
>
> Fixed.
>
>> 7. When we have more than 25 records, say 30 then I can see both 'next' &
>> 'last' links. I thought AtomPullServer would offer both links only when the
>> next page is not the last one, but in this case the next one is the last
>> one. Please just confirm that the browser does not add the 'last' link
>> itself
>
> I think this issue is related with AtomPullServer - LogBrowser shows
> only links, which are defined in response (I checked it by compare
> plain XML responses AtomPullServer).
>
>> Only if you have any time left (can be addressed after the end of the GSOC
>> project)
>>
>> 8. Please show the newest records on top (we can configure the preferences
>> later on). I think AtomPullServer returns them last but for the display
>> purposes I'd prefer the opposite, ex, I had more than 1 page, and was on the
>> first one, then tried to get a customer but had to go to the next page in
>> order to see the related log entries
>
> Fixed partially. I mean I invert order of entries list - at the top of
> the list are entries which are continuation of previous page (other
> words older entries). If you think about changing order of pages
> (first page contains the newest entries), it's not trivial (I need
> more time). Please give me feedback if you thinking about changing
> order of pages.
>
>> 9. can you try to enable a login dialog only if the server challenges ?
>> See we have two cases : unsecure plain HTTP connection and thus there's no
>> point in asking for the name & password info. Or we may have HTTPS and if we
>> do then the browser should get back a challenge and then a log-in dialog
>> will be shown - this assumes the browser is capable of working with the
>> HTTPS endpoints - you can definitely look at it once the project completes,
>> as part of enhancing and merging it all to the trunk
>>
>>
>> Please address some of the issues above (say 1, 2 and something from 3-7)
>> and I think we can consider this project be a success and then hopefully
>> you'll start working on enhancing it a bit more and preparing for the merge
>> to the trunk
>>
>> thanks, Sergey
>>
>>
>> On Sat, Jul 31, 2010 at 6:02 PM, Tomasz Oponowicz <
>> tomasz.oponowicz@gmail.com> wrote:
>>
>>> Hi Sergey,
>>>
>>> Referring to commit r981073, I introduce as fallows changes (include
>>> your comments):
>>>
>>> - Added word wrap to entry content;
>>> - Added fancy exception handler;
>>> - Hided security fields in "add/edit endpoint" dialog box;
>>> - Added Customer service and client (for easy interact) to sample -
>>> service produces log entries which simulate using LogBrowser in
>>> production environment;
>>> - Updated default AtomPullServer's pageSize from 40 to 25;
>>> - Added restoring entry selection when change page;
>>> - Added validation for "Copies" fiels in sample;
>>> - Added support for arrows in entries list;
>>> - Replace cutting message with "title" property;
>>> - Added milliseconds to datetime format;
>>> - Fixed clearing entries list - added removing all cells rather than
>>> clearing content;
>>> - Added validation for "name" and "url" in "add/edit endpoint" dialog box;
>>>
>>> I think all issues and missing features has been resolved. If you mind
>>> I'll come back to refactoring, adding documentation etc.
>>>
>>> Below I gather all your previous comments, which has been resolved in
>>> last commit:
>>>
>>> On Thu, Jul 29, 2010 at 1:38 PM, Sergey Beryozkin <sb...@gmail.com>
>>> wrote:
>>> >> However I also found issues (I will fix them ASAP):
>>> >>
>>> >> - Hide security fields (username, password etc) in "Add/Edit endpoint"
>>> >> dialog box (because I won't implemented authentication for endpoints
>>> >> in the near future,)
>>> >> - Add more advanced exception handler for easy investigating exception;
>>> >> - Add word wrap to entry content;
>>>
>>> Done.
>>>
>>> >> > - the log entry content does not show now date/level but it has some
>>> >> > prefixes which I'm not sure about, ex, if the log entry in the list in
>>> >> the
>>> >> > top right corner reads DEBUG SomeTime "1" then what is displayed below
>>> id
>>> >> > "[12]1", so no level & time but some bogus "[12]" prefix
>>>
>>> Done.
>>>
>>> >> > - GenerateServlet still causes issues for me, had to enter 40 entries
>>> 1 by 1
>>>
>>> Fixed - it should work without any problem, but to make sure I add
>>> numbers only ability to input and fail fast when can't parse number in
>>> GenerateServlet.
>>>
>>> >> >  but rather introduce a JAXRS app
>>> >> > endpoint which generates some custom log entries and have the browser
>>> >> > involking on that endpoint as discussed earlier on.
>>>
>>> Done.
>>>
>>> >> > - Update AtomPullServer to have say a 20-25 limit per page by default
>>> - I
>>> >> > put 40 originally but it is too much..
>>>
>>> Done.
>>>
>>> >> > - Key Focus is lost periodically. Example, I have to select an
>>> individual
>>> >> > log entry in the top right corner. But it has to be selected once I
>>> >> select
>>> >> > TestEndpoint in the left pane (if the entries already exist) or after
>>> >> > Refresh and the focus should stay there on that initial entry. If I
>>> now
>>> >> > press 'next' I should see the first entry in the next list selected
>>> again
>>> >> > and the same should happen when I press previous. May be this is not
>>> easy
>>>
>>> Done.
>>>
>>> >> If possible :-) It would also be nice to be able to browse using just
>>> > keyboard (using up and down arrows) - but it would be an additional
>>> > enhancement
>>>
>>> Done.
>>>
>>> --
>>> Best regards,
>>> Tomasz Oponowicz
>>>
>>
>
> --
> Best regards,
> Tomasz Oponowicz
>



-- 
Best regards,
Tomasz Oponowicz

Re: [GSOC] Simple and lightweight HTML-based browser for surveying Apache CXF logs

Posted by Tomasz Oponowicz <to...@gmail.com>.
Hi Sergey,

I've just finished refactoring (in revision 983258, 983286). I think
source code now looks much better.

In revision 983373 I fixed bugs and add features described by your comments.

On Thu, Aug 5, 2010 at 5:18 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
> Hi Tomasz
>
>
> I've rebuilt the latest demo yesterday evening and run it but did not finish
> this email, sending now - as I've seen a reminder on the mentors list the
> code freeze is at 16 Aug. There are still few bits and pieces to improve but
> the progress is obvious.
>
> Here're the comments :
>
> 1. it's not possible to add more than 1 endpoint; adding a new endpoint
> overwrites the new one.

Fixed. Before testing please remove "logbrowser-settings.xml" file in
main directory of sample project.

> 2. please remove milliseconds in dates - they make a single date and hence
> the entry in the top right corner to occupy 2 lines; also as long as
> AtomPullServer ensures the records follow each other in the order they were
> submitted by the log subsystem the milliseconds are not really critical; we
> will deal later on with letting users to customize the views so milliseconds
> can be dealt with later on
>

Done.

> these are less critical :
>
>
> 3. The demo lets users add/get/delete a customer which is fine; there was
> still 'Generate log entries' option there, I did not have time to check if
> it was handled by GenerateServlet or not. I think it would just make sense
> to remove 'Generate log entries' altogether and have logs generated during
> customer-related invocations

Done.

> 4. please update the custom endpoint code to generate logs with different
> levels (ex INFO, FINE/DEBUG)

Done.

> 5. try to configure the demo to have the log entries produced by the CXF
> runtime blocked for now and have only the logs generated by the application
> endpoint's code displayed; if you were using Spring then you could've
> configured a 'loggers' property on the AtomPullServer bean:
>
> <property name="loggers"
> value="org.apache.cxf.systest.jaxrs.JAXRSLoggingAtomPullSpringTest$Resource"/>
>
> You can configure this property in AtomPullServer in your custom Application
> explicitly
>

Done.

> 6.please check how you register JAXRS providers with Application - I can see
> warnings that they're both singletons & per-request ones

Fixed.

> 7. When we have more than 25 records, say 30 then I can see both 'next' &
> 'last' links. I thought AtomPullServer would offer both links only when the
> next page is not the last one, but in this case the next one is the last
> one. Please just confirm that the browser does not add the 'last' link
> itself

I think this issue is related with AtomPullServer - LogBrowser shows
only links, which are defined in response (I checked it by compare
plain XML responses AtomPullServer).

> Only if you have any time left (can be addressed after the end of the GSOC
> project)
>
> 8. Please show the newest records on top (we can configure the preferences
> later on). I think AtomPullServer returns them last but for the display
> purposes I'd prefer the opposite, ex, I had more than 1 page, and was on the
> first one, then tried to get a customer but had to go to the next page in
> order to see the related log entries

Fixed partially. I mean I invert order of entries list - at the top of
the list are entries which are continuation of previous page (other
words older entries). If you think about changing order of pages
(first page contains the newest entries), it's not trivial (I need
more time). Please give me feedback if you thinking about changing
order of pages.

> 9. can you try to enable a login dialog only if the server challenges ?
> See we have two cases : unsecure plain HTTP connection and thus there's no
> point in asking for the name & password info. Or we may have HTTPS and if we
> do then the browser should get back a challenge and then a log-in dialog
> will be shown - this assumes the browser is capable of working with the
> HTTPS endpoints - you can definitely look at it once the project completes,
> as part of enhancing and merging it all to the trunk
>
>
> Please address some of the issues above (say 1, 2 and something from 3-7)
> and I think we can consider this project be a success and then hopefully
> you'll start working on enhancing it a bit more and preparing for the merge
> to the trunk
>
> thanks, Sergey
>
>
> On Sat, Jul 31, 2010 at 6:02 PM, Tomasz Oponowicz <
> tomasz.oponowicz@gmail.com> wrote:
>
>> Hi Sergey,
>>
>> Referring to commit r981073, I introduce as fallows changes (include
>> your comments):
>>
>> - Added word wrap to entry content;
>> - Added fancy exception handler;
>> - Hided security fields in "add/edit endpoint" dialog box;
>> - Added Customer service and client (for easy interact) to sample -
>> service produces log entries which simulate using LogBrowser in
>> production environment;
>> - Updated default AtomPullServer's pageSize from 40 to 25;
>> - Added restoring entry selection when change page;
>> - Added validation for "Copies" fiels in sample;
>> - Added support for arrows in entries list;
>> - Replace cutting message with "title" property;
>> - Added milliseconds to datetime format;
>> - Fixed clearing entries list - added removing all cells rather than
>> clearing content;
>> - Added validation for "name" and "url" in "add/edit endpoint" dialog box;
>>
>> I think all issues and missing features has been resolved. If you mind
>> I'll come back to refactoring, adding documentation etc.
>>
>> Below I gather all your previous comments, which has been resolved in
>> last commit:
>>
>> On Thu, Jul 29, 2010 at 1:38 PM, Sergey Beryozkin <sb...@gmail.com>
>> wrote:
>> >> However I also found issues (I will fix them ASAP):
>> >>
>> >> - Hide security fields (username, password etc) in "Add/Edit endpoint"
>> >> dialog box (because I won't implemented authentication for endpoints
>> >> in the near future,)
>> >> - Add more advanced exception handler for easy investigating exception;
>> >> - Add word wrap to entry content;
>>
>> Done.
>>
>> >> > - the log entry content does not show now date/level but it has some
>> >> > prefixes which I'm not sure about, ex, if the log entry in the list in
>> >> the
>> >> > top right corner reads DEBUG SomeTime "1" then what is displayed below
>> id
>> >> > "[12]1", so no level & time but some bogus "[12]" prefix
>>
>> Done.
>>
>> >> > - GenerateServlet still causes issues for me, had to enter 40 entries
>> 1 by 1
>>
>> Fixed - it should work without any problem, but to make sure I add
>> numbers only ability to input and fail fast when can't parse number in
>> GenerateServlet.
>>
>> >> >  but rather introduce a JAXRS app
>> >> > endpoint which generates some custom log entries and have the browser
>> >> > involking on that endpoint as discussed earlier on.
>>
>> Done.
>>
>> >> > - Update AtomPullServer to have say a 20-25 limit per page by default
>> - I
>> >> > put 40 originally but it is too much..
>>
>> Done.
>>
>> >> > - Key Focus is lost periodically. Example, I have to select an
>> individual
>> >> > log entry in the top right corner. But it has to be selected once I
>> >> select
>> >> > TestEndpoint in the left pane (if the entries already exist) or after
>> >> > Refresh and the focus should stay there on that initial entry. If I
>> now
>> >> > press 'next' I should see the first entry in the next list selected
>> again
>> >> > and the same should happen when I press previous. May be this is not
>> easy
>>
>> Done.
>>
>> >> If possible :-) It would also be nice to be able to browse using just
>> > keyboard (using up and down arrows) - but it would be an additional
>> > enhancement
>>
>> Done.
>>
>> --
>> Best regards,
>> Tomasz Oponowicz
>>
>

-- 
Best regards,
Tomasz Oponowicz