I am looking for Content Management Systems that comply with W3 standards in HTML. I prefer those that are coded in Java or PHP (preferably Java). Any ideas where I can get such information? I checked on http://www.cmsmatrix.org and http://en.wikipedia.org/wiki/List_of_content_management_systems but they don't tell if the CMS's actually comply with W3 standards.
W3C published many standards.
I’d say that most of these standards can be relevant for CMS, e.g., HTML, CSS, RDFa, ATAG, WCAG, WAI-ARIA, etc.
And most of these technologies/standards/best-practices would be implemented in the frontend/backend theme (aka. template). So any CMS which allows you to use custom themes should do the job.
If or which default themes of which CMS follow W3C standards is a question which would be off-topic for Stack Overflow. You already found lists of CMS; select the Java/PHP ones and check their default theme for whichever criteria are relevant to you.
Related
While this is not a question about DITA "programming" I'd still like to ask it within the stackoverflow community where most users would happen to be developers.
Our company uses a combination of Doxygen & MediaWiki to document software libraries (such as QSchematic). We feel like MediaWiki is not a good way of documenting software libraries.
My question: Should I start using DITA to document software libraries? I've spend quite a few hours working with DITA and DITA-OT and I think it's a good solution for documenting software components that the end users directly interacts with (eg. command line tools). However, I'm not quite sure whether DITA is a nice solution to document software libraries. After quite a lot of research it seems like DITA is not widely used by software (library) developers. DITA provides specialization that would allow setting up custom topics for this purpose but as nobody else on the web seems to be doing that I'm wondering whether there's anything fundamentally wrong with using DITA for this purpose.
DITA could be a good fit and provides all features you need or could need in the future. Maybe a tool like read-the-docs or Swagger would also fit, but that depends on the documents you want to create, so is difficult to answer without knowing your libraries and content. DITA has the benefit of reuse and flexibility. You can use external code fragments, reuse parts of your reference docs in conceptual topics and task topics giving you the power to achieve anything you could imagine.
Is there a relationship between schema.org and WAI-ARIA?
Is one a subset of the other? Are they different? Are there any commonalities?
No, there is no relationship. Neither is a sub-set of the other.
Schema.org is intended to provide search engines with additional information about content, via microdata, RDFa, and JSON-LD. Within HTML you would use microdata. You can read more on using microdata at schema.org. There is no formal standards body behind it, it is defined by the major search engines.
ARIA (Accessible Rich Internet Applications) is a bridging technology that allows authors to add additional information to HTML so that assistive technology can make better use of it. Ideally it will go away as browsers catch up. It has no bearing on search engines. It is maintained by W3C, where you can read an overview on ARIA.
Are there any advantages/disadvantages in using a specific format for http://www.schema.org/Product? Something like "Searchengines understand Microdata better than JSON-LD"? I would like to use JSON-LD, because it doesn't mess-up with your html-code, but I'm not sure if it would be better concerning the searchengines to use Microdata.
There is no general answer, it depends on the consumer of the data.
A specific consumer supports a specific set of syntaxes, and might or might not recommend a subset of these supported syntaxes.
Because search engines usually try to make sure not to get lead astray (e.g., a page about X claims via its Schema.org use to be about Y), it seems natural that they would prefer a syntax that couples the Schema.org metadata to the visible content of the page (in HTML5, this would be Microdata or RDFa); for the same reasons why many meta tags are dead for SEO.
However, this is not necessarily always the case. Google, for example, recommends the use of JSON-LD for a few of their features (bold emphasis mine):
Promote Critic Reviews:
Though we strongly recommend using JSON-LD, Google can also read schema.org fields embedded in a web page with the microdata or RDFa standards.
Sitelinks Search Box:
We recommend JSON-LD. Alternatively, you can use microdata.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I'm looking for some guidance/books to read when it comes to creating a software requirement specification for a web application. For inspiration I have read some spec documents for desktop based applications. The documents I have read capture a systems functional requirements in use cases which tend to be rather data oriented with use cases centered around the various CRUD operations the application is intended to perform.
I like this structure however I'm finding it rather difficult to marry it to what my web application needs to do, mostly reading data as opposed to manipulating it. I've had a go at writing some use cases however they all tend to boil down to "Search for item", "Change view of search results" or "User selects facet to refine search results". This doesn't sound quite right to me and makes me wonder if I'm going about this the right way.
Are there planning differences between web based and desktop based applications?
In my experience, there is really nothing wrong as having all the specifications being CRUD. Most of the time, any application isn't just "a simple CRUD app." Requirements evolve and different parts of the systems tend to diverge and acquire some specific logic.
Even if it feels like repeating the same CRUD sentences over and over, actually writing them down and thinking about it (instead of copy & pasting) will often uncover hidden requirements.
The differences between desktop based applications and web based applications is staggering.
I recommend reading these in exactly this order and apply this knowledge in exactly the opposite order, aside from CSS 3, HTML 5, and XHTML 1.1:
RFC 3986 - URI
RFC 2616 - HTTP 1.1
RFC 4346 - TLS 1.1
RFC 4251 - SSH Protocol
RFC 4252 - SSH Authentication
RFC 4253 - SSH Transport
RFC 2045 - MIME
RFC 4627 - JSON
HTML 4.01
XML
XHTML 1.0
XHTML 1.1
ECMAScript
CSS 2
HTML 5 (Not a standard)
CSS 3 (Not a standard)
Web Content Accessibility Guidelines 2.0
Symantec Internet Security Threat Report Volume XIV
Symantec Internet Security Threat Report Volume XV
OWASP Top 10
SEO
Once you have finished reading this you should begin to understand how the basic technology of the web works. Only at this point would you be ready to develop, conformantly, for a web application. There are many other technologies at play, but these are the basics and once you are familiar with the basics you will know where else to look for more information.
Basically you can sue the same method as for desktop applications, although you might make some addition, because we applications often tend to have different type of requrements. First of all, read something good about Use Cases, there are different use case levels and that might be a solution to your use cases which do not seem so right. Also do not forget about use case generalization and parametrized use cases if CRUD repetition is the problem. One thing, which is often more important in web applications than in desktop apps is the aspect of usability. This is because of the nature of the web - people have ofthe the coice of not using your service and go to next google result if you app is not usable. So what I think is a good addition to the spec are Personas - just find some possible instances of the human actors for your use cases and try to think of some goals they might want to achieve often using your web app and present how they will achieve them using your web app (and try to make it super easy of course). Another important thing is the Information Architecture - the way in which you will provide information in your web app. This comprises of navigation, some basic layout, but not necessarily design, just information about where to find something in your web app. This can be done using some rapid prototyping tools.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 13 years ago.
Improve this question
I want to convert a website to use a Content Management System for updating a large number of content pages for a website. The current website is mostly ASP.NET, but I am considering converting to PHP if it means I will have better integration with the "CMS of choice" in the market. I have heard of Joomla! and other CMS' but I would like some answers to which ones are considered better. Features that I need to support are custom sidebar and tab menus (with expandable javascript drop downs for example). Can anyone tell me of a good solution?
You should look at opensourcecms.com. It's a site that hosts demos for the majority of open source CMS's out there in both PHP and ASP.NET. You can try each one out and read the features and reviews. It's a good way to find one that meets your needs without actually installing them.
Joomla and Drupal are your most common and popular PHP based CMS solutions.
On the .NET side I would suggest only DotNetNuke. The amount of development that goes on in that CMS is second to none and there is a huge marketplace for content, modules, themes, etc. There is pretty much everything available in DNN to meet your potential needs.
The "best" CMS really, really depends on your requirements.
I will say that Joomla is pretty much typical PHP spaghetti, and I hate it, but it might work for you.
Kentico (a .NET CMS) is a pretty decent one that I've deployed a few times. Microsoft CMS is supposed to be decent, I haven't tried it though.
Without knowing specifically your requirements, I find it impossible to give a solid recommendation, though.
I didn't work with these applications yet, but AFAIK TYPO3 and ezPublish (both PHP) are considered much more professional than e.g. Joomla.
Drupal has a long history, proven track record of success (many high profile use cases, including the Obama campaign, Mozilla Firefox, and MTV in the UK), and a boatload of free modules and themes so you can start somewhere good. Drupal is also highly customizable in terms of how data is stored in terms of content types. Drupal has excellent consulting and contracting help.
Joomla is a strong second, but a quick look at Joomla criticism on wikipedia, and I think the choice gets much clearer. Two out of the three criticisms of Drupal on wikipedia are that it's too complicated, which is really a subjective matter as compared to the shortcomings of Joomla.
If web development is a hobby for you, then use an open source CMS such as those mentioned. If it is your profession, consider working towards writing your own that meets your needs. The first few will likely be a little rough, but in the long run it can prove very fulfilling and must more customizable than anything off the shelf.
Writing your own also forces you to consistently expand your skills and learn the intricacies of the programming language.