Menu

#17 Automatic presentations

open
Jepson
None
5
2004-08-26
2004-08-26
No

The users and conferences tables should each have a
field, "presentation", used to point to a text
containing the object's own short presentation.

This should then be added to a special conference for
each category, where users can read new presentations
as they are written.

Ideally, the create conference command should land in
the text editor after all parameters have been
established, where the creator can write a presentation
directly. If the creator chooses to abort the text, no
presentation will be stored. This can later be remedied
with the command "change (or add) presentation".

When creating a user, however, no presentation should
be asked for initially. But the user should be
reminded, for example during his first five logins or
so, to write a presentation using the "change (or add)
presentation" command, unless he or she already have
done so.

The "change (or add) presentation" command should
assume that by default user means his or her own
presentation. An argument indicating another object
(own by user) should of course be accepted. This
command will land user in text editor, either with a
new text (if no previous presentation exists) or with
old presentation loaded into the editor for revision.

Discussion

  • Jepson

    Jepson - 2004-08-26

    Logged In: YES
    user_id=658926

    The presentation nag is a good idea, but what would be
    gained by rewriting the current presentation solution?

     
  • Pontus Rydin

    Pontus Rydin - 2004-08-26
    • assigned_to: nobody --> jepson
     
  • Benny Lofgren

    Benny Lofgren - 2004-08-27

    Logged In: YES
    user_id=1058572

    (So how the fuck do you submit a followup?! Oh well, I'll
    try this nifty "Attach A Comment" field, that might do the
    trick...)

    Well, it seems I didn't do my homework properly. I didn't
    notice that there already were presentation functionality
    implemented. My apologies! However, it would be nicer if it
    would actually work. ;-)

    First attempt; very abbreviated object name given. (Could
    this be a (drumroll...) PARSER bug?!)
    ----8<--------8<--------8<--------8<---- (cut)
    (Se) tiden - pre
    Ange anvndare eller mte: b l
    java.lang.ArrayIndexOutOfBoundsException: 1
    at
    nu.rydin.kom.backend.NameUtils.match(NameUtils.java:172)
    at
    nu.rydin.kom.frontend.text.NamePicker.innerResolveName(NamePicker.jav
    a:43)
    at
    nu.rydin.kom.frontend.text.NamePicker.resolveName(NamePicker.java:86)
    at
    nu.rydin.kom.frontend.text.parser.NamedObjectParameter.resolveFoundOb
    ject(NamedObjectParameter.java:63)
    at
    nu.rydin.kom.frontend.text.parser.Parser.parse(Parser.java:326)
    at
    nu.rydin.kom.frontend.text.ClientSession.mainloop(ClientSession.java:
    526)
    at
    nu.rydin.kom.frontend.text.ClientSession.run(ClientSession.java:364)
    at java.lang.Thread.run(Unknown Source)
    ----8<--------8<--------8<--------8<---- (cut)

    Second attempt. Definitiely OK object name given.
    ----8<--------8<--------8<--------8<---- (cut)
    (Se) tiden - pre ben l

    Skriven av Benny Lfgren /nisse
    Mottagare:
    rende: Presentation Benny
    --------------------------
    1:Tjoho!
    2:nu.rydin.kom.exceptions.UnexpectedException:
    java.sql.SQLException: Illegal
    operation on empty result set
    at
    nu.rydin.kom.backend.ServerSessionImpl.getMagicConference(ServerSessi
    onImpl.java:2598)
    at
    nu.rydin.kom.backend.ServerSessionImpl.getMagicConferenceForObject(Se
    rverSessionImpl.java:2605)
    at
    nu.rydin.kom.backend.ServerSessionImpl.storeMagicMessage(ServerSessio
    nImpl.java:667)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at
    nu.rydin.kom.backend.TransactionalInvocationHandler.invoke(Transactio
    nalInvocationHandler.java:41)
    at $Proxy0.storeMagicMessage(Unknown Source)
    at
    nu.rydin.kom.frontend.text.commands.PresentObject.execute(PresentObje
    ct.java:38)
    at
    nu.rydin.kom.frontend.text.parser.Parser$ExecutableCommand.execute(Pa
    rser.java:63)
    at
    nu.rydin.kom.frontend.text.ClientSession.mainloop(ClientSession.java:
    527)
    at
    nu.rydin.kom.frontend.text.ClientSession.run(ClientSession.java:364)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.sql.SQLException: Illegal operation on empty
    result set
    at
    com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:3619)
    at com.mysql.jdbc.ResultSet.getLong(ResultSet.java:1337)
    at
    nu.rydin.kom.backend.data.ConferenceManager.getMagicConference(Confer
    enceManager.java:249)
    at
    nu.rydin.kom.backend.ServerSessionImpl.getMagicConference(ServerSessi
    onImpl.java:2594)
    ... 13 more

    (Se) tiden -
    ----8<--------8<--------8<--------8<---- (cut)

    And, as icing on the cake:
    ----8<--------8<--------8<--------8<---- (cut)
    (Se) tiden - pres
    Ange anvndare eller mte: be l

    Connection to host lost.

    C:\Documents and Settings\bl>
    ----8<--------8<--------8<--------8<---- (cut)

    (The last one resulted in this in the java console window:)
    ----8<--------8<--------8<--------8<---- (cut)
    java.util.MissingResourceException: Can't find resource for
    bundle java.util.PropertyResourceBundle, key
    nu.rydin.kom.exceptions.KOMUserException.format
    at java.util.ResourceBundle.getObject(Unknown Source)
    at java.util.ResourceBundle.getString(Unknown Source)
    at
    nu.rydin.kom.i18n.MessageFormatter.getFormat(MessageFormatter.java:83)
    at
    nu.rydin.kom.i18n.MessageFormatter.format(MessageFormatter.java:66)
    at
    nu.rydin.kom.i18n.MessageFormatter.format(MessageFormatter.java:41)
    at
    nu.rydin.kom.exceptions.KOMException.formatMessage(KOMException.java:47)
    at
    nu.rydin.kom.frontend.text.ClientSession.mainloop(ClientSession.java:547)
    at
    nu.rydin.kom.frontend.text.ClientSession.run(ClientSession.java:364)
    at java.lang.Thread.run(Unknown Source)
    2004-08-27 01:59:08,934
    nu.rydin.kom.frontend.text.TelnetServer$SessionReaper -
    INFO: Disconnected from 127.0.0.1
    2004-08-27 01:59:08,954
    nu.rydin.kom.frontend.text.LineEditor$EventPoller - DEBUG:
    Exiting event poller
    2004-08-27 01:59:09,004
    nu.rydin.kom.frontend.text.LineEditor$KeystrokePoller -
    INFO: Exiting keystroke poller
    ----8<--------8<--------8<--------8<---- (cut)

     
  • Jepson

    Jepson - 2004-08-27

    Logged In: YES
    user_id=658926

    Did you remember to first create a suitable magic
    conference? :-) "Skapa specialmte (j/n)?"

    (My idea behind this design: The user should never have to
    actively search for new users or conferences. Instead,
    presentations should be stored in a special conference, which
    users interested in new users or conferences could become a
    member of. For the same reason, Notes is a special magic
    conference, as the need for such a conference has become
    obvious by the creation and use of Whereabouts)

     

Log in to post a comment.

MongoDB Logo MongoDB