PreVH Development Status
Operating Principles[edit | edit source]
These guide our decision-making. We do not expect to satisfy all of these principles completely with each decision.
- The focus is on getting something up, that works, and then iterating quickly, in order to learn from our experiments. "Fail Fast Forward"
- Have the current iteration of the code and our guiding principles be discoverable (preferably without talking to people) why the software was built the way it is, i.e. what goal is feature xy trying to accomplish, and why was it built this way and not another.
- Prioritize work that is adding features that are (1) of strategic priority to the organisation and/or are (2) more frequently requested by the community.
- Prioritize work that takes less time to create new functionality.
- Consider integration: when adding another component to the system, consider readiness for, ease of, and completeness of integration. Favoring components that integrate well supports:
- User experience that is seamless and flows naturally
- Minimizing complexity, to care for current ease in development and future ease in maintenance
- System robustness as website and its components evolve
- Users and Members
- Focus on the user's experience, empathy for them and for what they value
- Make it easy for users to discover the site's features.
- Minimize the work needed for users to accomplish desired tasks on the website.
- Minimize the number of places that information must be entered.
- For example, if users have given their location already in a sign-up or profile page, then they shouldn't need to add their location again to show up on a geographic map of members.
- Minimize the number of places that information must be entered.
- Make it easy to get feedback from users and potential users.
- Make it easy for interested Community Members to review and help improve our software.
- Minimize dangers associated with vendor lock-in.
- Use software systems that make it easy to export and import content data in standardized formats.
- Consider the likelihood that a company or project will continue to support the product.
- Favor free open-source software (FOSS), so that software can be used/evolved even if vendor support is no longer available or satisfying. Note that one might still pay money for "free software" - it means "free as in freedom, not free as in beer". (So, the key is open source software licensing.)
- Contribute to the public good, as we can
- Favor products from companies/groups that share our values. (This favors FOSS; among commercial offerings, there might still be better and worse choices.)
- Contribute software we develop for public use, where it might offer value.
- Make implementation choices that minimize the technical, niche, or specialized skill or knowledge needed by future maintainers.
Production Site Currently Implemented Features[edit | edit source]
This is the site at https://nvc-global.net
- Pages and blog posts for news and information.
- User registration as mechanism for joining CNVC/NVC-O Community as a Member
- Page about Joining Community inserted as gateway to actually registering
- Membership form data is stored as user extended profile fields, and can be updated by members
- All Members automatically added to Community group
- Wall for exchanging comments
- Contributor signup implemented through user profile tab
- Contributor signups automatically add to Contributor group, and send notification emails.
- Adding Contributors to JackMail Contributor mailing list is a manual operation.
- Member private messaging
- Information about members
- Member search
- Map showing location of members (custom code)
- Markers display Member name and link to Member profile
- Slight location distortion (maybe a mile) added so Members and same location won't hide one another on map
- Counts of members and member countries (custom code)
- Member statistics: by country, time zone, certification role, language (custom code)
- Listing of member answers to what they are excited about (custom code)
- Calendars: Public calendar, Members-only calendar
- Embedded Google Calendars automatically display in user's time zone (custom code)
- preVH website information
- Website plugins list (with versions) and custom source file contents available to Members-only
- HTTPS for all access
- Administrative features:
- Private groups that can be created by admin
- Mailing application for use by administrators
- Automatic site backups
- History tracking for key site activities and changes
- Access control: Content on a page can be hidden/displayed depending on whether view is logged in or not (custom code)
Components used to Implemented Production Site Features[edit | edit source]
|w:WordPress||GNU GPLv2||No||base platform||w:MediaWiki|
|w:BuddyPress||GNU GPLv2||No||social networking capabilities|
|Various FOSS plugins||?||No||?|
|Google Calendar||Commercial||No||event listing|
|Google geocoding||Commercial||paid if volume exceeds limits||used for member map|
|w:Leaflet Maps plugin||BSD-2-Clause||No||Based on OSM maps|
|KLEO Theme||unclear, much of it is open-source||US$52 (JL)||WP Theme|
|Jackmail||plugin is open-source, but use of proprietary service is involved||US$5/month (JL)||Send emails up to 2000/month||w:phpList, riseup.net/lists|
|?||?||US$71 (JL)||SSL certification and dedicated IP|
|WPML||GPL||US$200 (BW)||WordPress Multilingual Plugin||Extension:Translate Help:Extension:Translate|
Sources of inspiration on that subject :
- https://help.loomio.org/en/third_party_services.html : « This describes where data flows in the course of using www.loomio.org. We will describe data processor's GDPR compliance, what data is sent to them, when and why. »
Development Site Currently Implemented Features[edit | edit source]
This is the site at http://nvc-we.space/
Short-term Planned Features[edit | edit source]
These are features currently in development or planned to be implemented in the next week or so.
Feature Requests[edit | edit source]
Feel free to add or make notes on any feature that someone requests (including you!).
- Forum (like a bulletin board) where members of the Community can create discussion topics and chat with each other in an orderly fashion. Requested by Implementation Council 2018-05-24.
- Easily implemented - Maybe a question of whether this should be in Community group, or if there should be a group or groups with more defined purpose which would have forums? - Bob W
- I'd love to be able to subscribe to it by email or in-website notification. --Brent Barker
- Inclusion of decision tools like the ones in Loomio, to have the benefit of something in the spirit of w:holacracy and Frédéric Laloux's approach. --Dieudonné
- Multi-Lingual support. High priority. Involves some high impact choices that might not be easily changed, once they are made. - Bob W
- Examples : having a place where all pages related to theses ones are easy to be translated :
- More general mechanism for controlling who has access to pages and features on site. -- Bob W
- Conflict transformation system for virtual Community group. Not sure if that's in scope for us. --Brent Barker
Development Transparency and Feedback[edit | edit source]
- Ideas for making development work or work-products more transparent (Bob W)
- Find a place to maintain (1) a journal of site-related admin/devel activities; and (2) notes on implementation choices?
- I'd love for this to be the same place where we discuss the work and track development ... if we have to keep a separate area up to date with everything we're doing, it will be very hard to keep it up to date. Bob and I currently discuss website development and issues on Messenger - perhaps we need to change to a more public method? (Julie)
Costs/Donations to NVC-O[edit | edit source]
Elkie asked that we keep track of things we pay for, as donations to NVC-O ... is it OK to record them here? (Julie)