pangyre/p5-yesh
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Name
Yesh - Yet another content management system: secure, multi-author,
modern, flexible, friendly, Catalyst-based (alpha software). Please see
Yesh::Manual for usage and detailed description.
Version
2.9043
Description
Secure
Well, we take it seriously anyway. This is an unfinished application
and may have security bugs; plus it is meant to be an easy to
install, user-administered application which leaves file and basic
system security in the hands of the user running the application.
That said, the passwords are stored as an expensive
Crypt::Eksblowfish::Bcrypt hash. The application supports forcing
users to register and sign in under https. If configured correctly
Yesh will be among the most secure, if not the most secure, FOSS
(free and open source software) personal publishing application for
the web.
Modern
It is highly introspective: status, documentation, underlying
software, and database information can be examined within the
application.
It follows modern software standards and uses modern kits: Catalyst,
Moose, DBIx::Class, and Template Toolkit drive Yesh.
We will not call it 3.0 and ready for production until it has
thorough test coverage and code documentation.
Multi-author
Content (articles) can be written by one or several users. Users can
open their own content for collaboration or protect it. An editorial
role can be given to a user who can then edit content of certain
other users.
Flexible
Yesh should run on no less than three database engines—SQLite,
MySQL, and PostgreSQL—and may even run on others without changes.
Yesh may be deployed to its native server (not recommended),
modperl, and FastCGI (recommended) on any OS which can run Catalyst.
Friendly
We are grateful for feedback, patches, themes, link-backs, and
feature requests. We want this code to be easy, bug-free, fun, and
helpful.
i18n
This is "wish list" for now. It's a strong wish though. :) If you
are interested in contributing non-English documentation
translation, please let us know.
Synopsis
script/yesh_server.pl
History
A prototype of this code has been in production since 2006 at
<http://sedition.com>. The site contains mature content (no pornography
but NSFW).
To Do
Tests
Revision control on articles
Audit trail for some|most|all actions
MySQL setup + mysql_read_default_file
MySQL config creates a local mysql_read_default_file instead of
putting the user/pass etc into the config. Chmods it to 400 or
something.
Admin should have DB interface?
Setup under SSL if desired
Flash blurbs will not stack up. Perhaps time to finally write the
cache-key/expires/views version.
Remove license history / live thingy. Let revision track it.
Manual complete.
Everything from the manual using it as a spec. E.g., article revision
views and token previews.
Move "config->{configured}" to a third config file to separate it from
direct user interaction?
Move the entire auto-config to a third config file?
Provide for bulk editing via tag, author, date, parent, etc.
Sample setups
Write out at least one sample setup, Yesh::Manual::SampleSetups.
Wish List
These are important but not first priorities.
i18n
Image and media management tools built-in
WYSIWYG preview for article edits
Philosophy
Release early and often. Favor agile cycles over stability paranoia. We
will be responsive to feedback and bug reports. Make easy and reliable
updating a priority so users are comfortable
Favor correctness over backwards compatibility. Support migration where
backwards compatibility is broken.
Strive for real world best practices in development: the application
will have a specification, a test plan, documentation with complete
coverage, publicly available revision controlled code repository, full
tests, a new test for any new bug, push-button deployment, release
notes… uh, eventually.
REST where possible and sane.
Progressive enhancement.
Only jQuery JS in the core distribution.
Code Repository
<http://github.com/pangyre/p5-yesh>.
See Also
Yesh::Manual, Yesh::Manual::ReleaseNotes, Catalyst.
Author
Ashley Pond V · ashley.pond.v@gmail.com · <http://pangyresoft.com>.
License
The parts of this library which is Yesh specific is free software. You
can redistribute and modify it under the same terms as Perl itself.
Some third party software, e.g. jQuery, may also included in this
distribution. Please see Yesh::Manual::ThirdParty for more about that.
Disclaimer of Warranty
Because this software is licensed free of charge, there is no warranty
for the software, to the extent permitted by applicable law. Except when
otherwise stated in writing the copyright holders and other parties
provide the software "as is" without warranty of any kind, either
expressed or implied, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose. The
entire risk as to the quality and performance of the software is with
you. Should the software prove defective, you assume the cost of all
necessary servicing, repair, or correction.
In no event unless required by applicable law or agreed to in writing
will any copyright holder, or any other party who may modify or
redistribute the software as permitted by the above license, be liable
to you for damages, including any general, special, incidental, or
consequential damages arising out of the use or inability to use the
software (including but not limited to loss of data or data being
rendered inaccurate or losses sustained by you or third parties or a
failure of the software to operate with any other software), even if
such holder or other party has been advised of the possibility of such
damages.