azurelunatic: DW: my eloquence cannot be captured in 140 chars (twitter)
[personal profile] azurelunatic
Because it was a question (thanks, [twitter.com profile] 3sperhand!), I've started a wiki page for documenting the cookies we set, and what's in them, and why.

http://wiki.dwscoalition.org/notes/Cookies

Anyone with more expertise in this than me, please feel free to jump in and help document.

On use of the wiki )
skakri: (Default)
[personal profile] skakri
Hello, I'd like to know if there is any documentation regarding content importing from LJ-based site (AFAIK, old version, circa "07) and cross-post setup steps? How should I define a new external site?

I'm currently using jbackup.pl + LJ::Simple mash-up, but that won't work in the long run, as even if entry backdate is set, users still receive messages of a new posts, if they're subscribed.
szabgab: (Default)
[personal profile] szabgab
Hi,

Seeing how complex the deployment of applications developed in various corporations I am doing a little research to see how open source application manage the complexity. For that I was looking for complex (in terms of deployment and development environment) applications to see how they manage the task and how they test their system. Dreamwidth seems like a good case so I jumped on the IRC channel where [personal profile] pauamma gave me a quick list of the entities. Then I was volunteered to raise the issue here to get further clarifications.

So here is the list I got:


  1. perlbal on the load balancer(s)

  2. webservers running Apache+modperl+DW webapp code

  3. database cluster for global data

  4. several (currently 3) database clusters for per-user data. Each cluster holds the same data for different users

  5. Gearman servers, to offload some web-synchronous compute-intensive tasks

  6. TheSchwartz server(s) for asynchronous or non-web tasks.

  7. MogileFS servers for blobby data not stored in a SQL database for various reasons.

  8. Postfix



I found the Production Notes to be also a good source for information but I'd appreciate to get further details if the list is not complete. What would be very interesting to me is to understand what are the responsibilities of the various entities in the system. What kind of data is kept in the various databases. Which entities can be duplicated if load requires it and how the jobs can be divided?
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise
I'm really interested in learning more about what kind of performance things we need to keep in mind while coding, and how to design for a well-behaved high-availability web app. I know the very basics, like using memcache whenever possible and using direct assignments instead of shifts, but not much else!

So, is anyone interested in writing tutorials on things to keep in mind when coding stuff for performance factors? As we grow, this is going to start to be stuff we should keep in mind, and I think it's a great opportunity for us all to share knowledge and learn together. No matter how much you know, even if you think it's not much, it's probably more than someone else (ie, me) knows...
matgb: Artwork of 19th century upper class anarchist, text: MatGB (Default)
[personal profile] matgb
OK, I'm working on an update and port of the Delicious Glue script originally done for LJ. It works as a Client, ergo I'm asking here.

I've got most of what I want to acheive working, including, finally, Icons (the keyword is case sensitive, obvious when you think about it). However, I haven't managed to get post security working--this isn't an issue for me, and therefore lower priority, but I'd imagine some would like it, and would like to include it. I've read through the Wiki entries on both XML-RPC Protocol and XML-RPC Protocol Method: postevent, and worked through what I think the code should be, but it isn't working. My current code is here:
http://notzen.com/mat/delicious-glue.txt (and there's awrite up with the full script to DL here)

I've commented out the security stuff to get the rest working, but this is my first time, ever, messing around with client protocols, and I've had a few requests for copies of the script. What am I doing wrong? Thanks to [profile] andreducker linking to the original post, I have discovered my problem. Missing semi colons.
fu: Close-up of Fu, bringing a scoop of water to her mouth (Default)
[personal profile] fu
Working on some long-overdue updates to the checkfriends protocol mode.

Changes not yet live on the site but should be for future code push, but here's the run down:


  • checkfriends no longer works. Instead, use checkforupdates.

  • required arguments to checkforupdates is only authentication information

  • optional argument lastupdate (in "0000-00-00 00:00:00" format). This is the last update time you have, from previous calls to checkforupdates

  • optional argument filter. This is the name of a content filter whose members you want to filter to.

  • return value: new: 1 or 0. 1 only if you pass in a lastupdate and there are new items since then. 0 in all other cases.

  • return value: interval: number of seconds before you can next check for updates. If you check before time expires, you'll get a cached value

  • return value: lastupdate: time someone last updated, in "0000-00-00 00:00:00" format



It's almost exactly the same as checkfriends; the only differences from the frontend are the name change, and replacing the mask argument with a filter argument because the trustmask is no longer relevant since we split up access and subscription.

ETA: Added preliminary documentation on the wiki.
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise
A comment made in Bugzilla this morning had me thinking: what are the variables we use by convention (or should use) everywhere throughout the code? I want to make a list of them so that a) people can know what they are and not re-use them for other things, and b). we can go through and change things that don't use them.

The ones I immediately thought of are:

$u: user object
$remote: remote logged-in viewer


What else is there? (And if there isn't a convention for a specific reference, and it's got five or six variable names throughout the code, mention that too, so we can standardize.)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise
As you might have seen from rho's entry and my entry to [site community profile] dw_docs, we're moving to using Bugzilla for major docs projects, since it's been very easy for us to lose track of what needs to be documented.

Very little will change for dev work because of this! However, if you're implementing a bug that will require FAQ changes, whether it's because you're adding a new feature that needs to be documented from scratch or making changes to an old feature that may require FAQ updates, please open a docs bug for it. We'll be doing doc work in separate bugs from the bugs for the feature itself (so it doesn't hold up resolving the bug that's assigned to you and so the FAQ team can assign the bugs to themselves and get credit for their changes), so just open a new bug and mark it as blocking the bug you're working on. There doesn't need to be a new docs bug for every development bug -- only the ones that will require major FAQ changes. (For minor changes, just leave a note in a [site community profile] dw_docs entry, or email me or [personal profile] rho.)

New docs bugs should be in the Project Documentation product, and the User documentation component. Default assignee is fine, and you don't need to do anything about the priority/severity/keywords; I'll handle that the way I handle other bugs people don't prioritize/keyword.

And, of course, if any of you want to pick up some docs bugs and submit FAQ drafts or revisions of FAQs along with your changes, that would be wonderful!
vlion: magical weaponized pony! (weaponized pony)
[personal profile] vlion
Hi,

I'm looking for a non-coding project to help out with that can be done in chunks. (I do programming work basically 40 hrs/wk). denise suggested documentation.

What files can use some documentation?
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
[staff profile] mark
Hey --

I realize that there's a lot of things that would be useful to disseminate. Stuff about the way the code works, some conventions, why things are the way they are, and more advanced topics like database handles and stuff like that. I'd love to get some requests -- see what people are really the most curious about, so I can prioritize writing the docs. But here are some things I've thought of:

* What is a database master, slave, when should I call "get_db_writer" versus "get_db_reader" and what is this "get_cluster_def_reader" thing anyway?

* What are database clusters, what is the global database, what goes where?

* What is TheSchwartz/Gearman, how do I use it, when should I?

* What should be stored in memcache, what are the best practices?

* ...

Crap, I had a bunch more when I was thinking about this before bed last night. Should have written them down then... oh well. Is there anything you are curious about that you think might make a good bit of documentation?

Profile

dw_dev: The word "develop" using the Swirly D logo.  (Default)
Dreamwidth Open Source Development

July 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223 242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2025 12:08 am
Powered by Dreamwidth Studios