Monthly Archiv: May, 2009

microtime

Package:
microtime
Summary:
Measure the time that elapses in microseconds
Groups:
Time and Date
Author:
Lukas Mestan
Description:
This class can be used to measure the time that elapses in microseconds.

It can start measuring the time at any point of a PHP script taking note of the current time in microseconds.

Later the class can stop measuring time and returns the time that elapsed since the beginning.


PleaseMap utilities

Package:
PleaseMap utilities
Summary:
Copy values between arrays and objects
Groups:
Data types, PHP 5
Author:
James Hinds
Description:
This class can be used to copy values between arrays and objects.

It can take an array or an object and copy values of their entries or variable to another array or object.

The names of the origin array entries or object variables may be mapped to new names in the destination array entries or objects.


[Free] New Free Personal Firewall: Agnitum Outpost Firewall Free

The Agnitum Outpost Firewall Free 2009 has been added to the Free Personal Firewalls page. It provides bidirectional protection, application behaviour monitoring, protection against the firewall being terminated by unwanted programs (like malware), configurable firewall rules, etc. Guard your computer against unwanted intrusion: check it out. It's free.

Contributing to WordPress, Part IV: Ideas, Opinions, Feedback

“I wish they’d implement feature x.”

“Why won’t they put feature y into core? It’s rated really high in the Ideas forum!”

“It doesn’t matter what I think, all the decisions get made by an elite crime-fighting squad funded by an anonymous millionaire. Er, I mean the four core devs.”

These sentiments, and others like them, are the focus of today’s post. Setting aside the similarities between Ryan, Andrew, Mark and Peter to Charlie’s Angels for a moment, the question of how decisions about features are made needs to be addressed. There are a number of mechanisms in place for communication between the community and the core team, but with so many different channels, it’s hard to keep up with them all and still focus on production. Here’s where we are now…

#wordpress-dev IRC channel: The IRC channel used to be more active. These days there’s rarely more than a dozen or two people online at any given time, and hours go by with no activity. When a question pops up, it’s often a tech question from a less experienced developer or site manager looking for help, as opposed to ongoing discussions about the best way to approach core code and features. When core-focused discussions do occur, they tend to fade out as time zone variances cause people to log off before a core dev enters the room.

wp-hackers list: The hackers mailing list reaches thousands of contributing developers, plugin developers, and lurking interested parties. Discussions range from how to use hooks to whether or not something in core should be changed to troubleshooting for other list members. Conversations on this list sometimes can get heated and occasionally stray into rudeness, which makes some people hesitate to utilize this communication channel.

This dev blog: This blog is used mostly for “official” announcements, and more recently, for surveys and polls intended to give the core devs an idea of community opinion on things being considered for future versions. Posting is irregular, sometimes with new content every other day, sometimes with nothing for a couple of weeks.

wpdevel.wordpress.com: Another blog, also an “official” outlet, in which the core team posts about any big code changes they’re working on. This gives plugin authors and contributing developers a heads-up, and provides a place for community discussion around specific issues like the new widgets API.

Trac: The ticket system used for active development has gotten out of control. Hundreds of tickets are already lined up for future versions because they were punted from current releases; many aren’t even relevant anymore. Trac has wound being a place where people report bugs, suggest code changes, request features and debate methodologies; some of these conversations are years old. This broad use of the system makes it harder to power through tickets and get bugs fixed.

Ideas forum: The Ideas forum is a place where anyone can suggest a new feature, rate features suggested by others, leave comments, and generally discuss the future of the WordPress application. However, like Trac, some of the items here are years old. Because of the way the rating system works, older items remain at the top of the list. Some threads are simply he said/she said preference arguments, as opposed to contructive discussions about the value of implementing certain features or changes. There’s no direct connection between the Ideas forum and Trac.

WordPress is an open source project, successful because of the community that both develops and uses it. At the same time, some people find it difficult to become involved in the project, and are unsure of how to engage with the core team and community at large. The channels listed above can be overwhleming to someone just joining the community, and/or frustrating to longtime community members who feel like they used to have more influence. We need to fix this. The WordPress project needs to be welcoming, easy to navigate as a contributor, and provide useful feedback to help grow the expertise of its community members.

I think we should figure this out together. You, members of this community, know how you feel about the communication channels available to you. You probably have ideas about how to make it better. Some of you may even have sketched out digrams of systems that you think would work better.  Link Ideas to Trac? Change the Ideas rating algorithm? Close Trac tickets that don’t get resolved within a certain period of time? Just do everything through Trac? What do you think? What would make it easier for you to keep up with development progress and get involved with the varius contribution opportunities? I *know* you have an opinion.

Over the next few weeks, we’ll be gathering your input about how we can improve communication and participation, and then we’ll embark on a project to fix/create a system for collecting ideas, opinions and feedback that will allow WordPress to grow as an inclusive community. Here’s the plan: Gather ideas from people via IRC, forums, live chats, surveys, etc. Assemble a small group of interested parties to help figure out possible approaches, put suggested approaches to a community vote. If redesigning something (like the Ideas forum) is deemed necessary, utilize community designers to create layouts. Beta test it to see if it does work as hoped. Launch and make everyone happy with the new, improved communication/ideas/feedback system!

Up First

Use this forum thread to post your suggestions about this. What do you think needs to be changed or improved? How would you structure it? How do the existing channels fit into your suggestion?

On Tuesday, May 12 at 21:00 UTC (5pm New York time), hop into the #wordpress-dev IRC channel (irc.freenode.com) and talk about your suggestions for how to improve communication. I’ll be there, taking notes and answering questions, and asking follow-up questions when someone pitches a good idea. An hour later, I’ll be joining the WordCast Podcast to talk about this issue. They’re trying to set up a call-in format; if that pans out, we’ll post the call-in info in the dev channel. Otherwise, A call-in number has been set up through TalkShoe.

1-724-444-7444
Meeting ID: 50127
Pin (if you don’t have a TalkShoe account): enter 1#

We’ll also read off suggestions being made in the dev channel and discuss them.

More opportunities to weigh in on this issue to come. Also, further investigation into the similarities between the core devs and Charlie’s Angels. :)

pvpgn_mail

Package:
pvpgn_mail
Summary:
Send and receive messages to PVPGN game users
Groups:
Email, Games, PHP 5
Author:
Luis
Description:
This class can be used to send and receive messages to PVPGN game users.

It can check the directory of PVPGN installation and create a file for a new message to be sent from a given sender to an user with a given identifier. It can also lookup the user identifier in a database.

The class can also retrieve messages stored for a given user.


Ultimate DB Access Wrapper

Package:
Ultimate DB Access Wrapper
Summary:
MySQL database access wrapper
Groups:
Databases, PHP DataBase
Author:
Bogdan Lupandin
Description:
This class implements a MySQL database access wrapper. It can:

– Establish database connections
– Validate SQL queries
– Execute SQL queries and fetch result rows into arrays or objects
– Build SQL queries from lists of parameters
– Manage transactions
– Display query results in HTML tables made of DIV tags
– Create table indexes


Blog fixing

Just realized enscript isn’t installed on my server anymore so all my posts with highlighted code examples were broken. Sorry about that, fixed now.

Easy PHP Event Calendar

Eventcalendar
Package:
Easy PHP Event Calendar
Summary:
Display a calendar with events
Groups:
Content management, HTML, PHP 5, Time and Date
Author:
Jos Nutbroek
Description:
This class can be used to display a calendar with events.

It can generate HTML with embedded CSS style definitions and JavaScript to display the days of months denoting those that correspond to events from a given list of event days.

The icon graphics directory and the names of the week days and months are configurable options.


Recursive reference serialize

Package:
Recursive reference serialize
Summary:
Serialize objects with cyclic references
Groups:
Data types, Language, PHP 5
Author:
nghia nguyen
Description:
This class can be used to serialize objects with cyclic references.

It can take an object value and generate a string that represents the information contained in the object.

The class can also do the opposite, i.e. process a string with an object representation and recreate the original object value.

The class takes care of cyclic object references, i.e. objects that reference other objects and those objects contain references back to the original objects.

It uses object keys to represent object values and detect cyclic references.


Powered by Gewgley