Hi Martin - the tags are just there to filter the result set, in case
the requesting user is more interested in say sci-fi books than
poetry.

So the goal is to list all the books read by all your friends
(optionally narrowed down by tags), but ordered by the popularity of
the book, not by the reader.  And that ordering is quite important to
the solution.

On Jul 8, 5:33 pm, Martin Webb <spydre...@yahoo.co.uk> wrote:
> Steven - hi can i just clarify what you want to do.
>
> I assume the goal is for each user to have a list of all the tags that are
> relevant to books they have read and people they are friends with have read
> is that correct?
>
> Regards
and may be unlawful. No liability or
> responsibility is accepted if information or data is, for whatever reason
> corrupted or does not reach its intended recipient. No warranty is given that
> this email is free of viruses. The views expressed in this email are, unless
> otherwise stated, those of the author
>
> ________________________________
> From: stefoid <stevenmath...@yahoo.com>
> To: Google App Engine <google-appengine@googlegroups.com>
> Sent: Thu, 8 July, 2010 8:19:28
> Subject: [google-appengine] Re: list-property, many to many, 5000  
> indexes...HELP!
>
> hmmm, yet to watch that video (no flash at work), but streams/
> followers doesnt sound what Im after.   My app is more about data
> mining than tweeting, so rather
> than a 'what are you currently reading' type of question its more like
> 'what is everything have you ever read?"   repeated again every time
> someone asks the question.
>
> So I can get what one user has ever read in a query OR I can get which
> users are my friends in a query, but I cant join those queries - I
> cant think of any way of storing that in a single table that wont
> explode.
>
> Unless there is something that Im missing, I think my best bet is to
> pull in the list of friends first, as that is likely to be the
> smallest list, then pull in lists of friend-read books, friend by
> friend, sorting as I go.
>
> Trouble is, if I have 1000 friends, thats 1000 queries?   ugh.....
>
> On Jul 8, 4:55 pm, Martin Webb <spydre...@yahoo.co.uk> wrote:
>
> > Yes thats it - perhaps the word stream is not the most appropriate.
>
> > If i read a book which is say horror - in your app that can auto subscribe 
> > me
> >to
> > books that are of the horror type. which again is just following a book 
> > type.
> > But the streams and subscribers principle works for lots of solutions. email
> or
> > chat, and activity logs. comments. just use your imagination.
>
> > Assuming that perhaps your plan is the have activities and share them with
> > followers - which might just be what books they are reading all you do is 
> > send
> >a
> > message to a stream.
> > "hello world" to " user/martin/stream/public_activities - if public facing
> >users
> > are subscribed they will get the message. Or "Hello World" 
> > mail/martin/inbox".
> > Of course in a real world mail system you would put a copy in the senders 
> > sent
> > and a copy in the recipients inbox - but thats easy.
> > [mail/steven/sent,mail/martin/inbox]
>
> > # just a simple message class with subscribers - this can be far more
> > imaginative
> > class message(db.Model):
> >     sender = db.StringProperty()
> >     body = db.TextProperty()
>
> > class message_index(db.Model):
> >     receivers = db.StringListProperty() #streams
>
> >     def put(stream): #puts a stream list in a message receivers list
> >         #should start a worker to append the past list
> >         return
> >     def move(from_stream,to_stream): #replaces a stream with a new stream
> > inbox----.spam
> >         #should start a worker
> >         return
> >     def delete_stream(stream): #removes a stream - this is useful for
> > unsubscribe
> >         #should start a worker
> >         return
>
> > As simple as this approach is it just about covers - activity walls,
> > email,comments and so on - one concept is lets say I want to flash messages 
> > to
> > my users "your are now following martin". I just have my Ajax or static page
> > "listen" to 'user/martin/flash' and send info messages to 
> > 'user/martin/flash'
> >so
> > when someone unsubscribes, a message is flashed to inform them the request 
> > was
> > completed.  Of course you would need to add some security measures to the
> >stream
> > class and a mechanism to remove messages - i.e spam folders would clear say
> > every 7 days, flashed messages once read clear instantly, in-box messages 
> > may
> > live forever. Of if you want to save memory and have millions of users have 
> > a
> > "mail/martin/saved" stream and then add a save message button to emails  
> > (all
> > that does is use the message.move(...) method and then set in-box to keep
> > messages for say 90 days and the save box to be 'permanent' As you can see 
> > the
> > stream method now has some very useful functionality from just a small 
> > amount
> >of
> > api.
>
> > Well that's how i am thinking, maybe this can work for you.
>
> > Regards
>
> ://groups.google.com/group/google-appengine?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appeng...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group 
> athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to