I have created a website powered by MediaWiki that offers documentation on the interface for a web application.
The URL for my web application may change. However, many articles on this MediaWiki site link to the application.
I would like to create a global constant somewhere called say "WEB_APP_URL" that I may change at any time, and that editors of the wiki can use to link to the application.
That way, I won't have to do a massive find and replace when my application URL changes.
Is this possible? I am working in a LAMP environment. Thank you.
I think the simplest way is to create a template. That is, you can create a page called Template:web-app URL with this wiki-text:
http://this.is/the/URL/of/the/web.app
and then editors can write things like:
The application is located at {{web-app URL}}.
or:
[{{web-app URL}} David Faux's application]
and the URL will automatically get dropped in.
(That's not the only way — you can get similar effects through internal configurations and hooks — but I think the template-based approach is the simplest.)
Related
I have some pages which I want to restrict access to specific users, i.e, I want user A and user B only to view this page. How can this be done? Do I need additional extensions or it can be done through LocalSettings.php for example?
You could try this extension: Extension:AccessControl. I've not deployed it to my wiki sites, but a quick read of the pages suggests it might be what you're looking for.
Note though that as Tgr covered in the comments above, Mediawiki is not intended to operate like this, so the extension could be fundamentally flawed in its implementation. Practise due diligence if you try to deploy any 3rd party extensions. Alternatively, look into alternative CMSs that handle access control as a core feature.
I have an app with a support form that a customer can use to submit new issues. One of the things that's been requested is to search their public wiki and automatically create suggestions based upon it (very similar to what SO does). Since the page in question is outside of MediaWiki itself, I'm unsure about how to move forward.
My question is twofold:
Is there an out of the box extension to do this sort of thing?
If not, how would you recommend I go about doing it? I've never written a MediaWiki extension, but for the experienced among you, what approach would you take?
I don't know if something like that already exists. But if I had to do it from scratch, I would definitely go on using the mediawiki API. Example here:
Show a list of 10 pages that contain the word MYSEARCHTEXTGOESHERE
http://mywiki.org/wiki/api.php?action=query&list=search&srsearch=MYSEARCHTEXTGOESHERE&srprop=timestamp
It wouldn't be an extension in the wiki, but rather a GET call to the wiki server from your app.
I am learning the html course from the available tutorials on the internet. And with that knowledge I have developed some html files and I believe there is more to go. These files consist of our old school friends and their present condition and what they're doing. I have created a bunch of html files. Like I have created a website for now named as www.mypage.com
Arjun
So in the href I'm just giving the path but those files are in my desktop pc itself. How do I put them on internet and share with my friends who are living somewhere out of this town. I want to reunite all of my school friends using these files. But where do I upload them and make it like a webiste to my friends? Is there any free way to do that? Or any possible way to reach it.
And I'm saying sorry if the question is not for the tag I mentioned. Please let me know and I remove the tag. I don't know what is the link to wikiposts to share my views. If you know then let me see the link. Thank you.
Find a web hosting service (Google knows lots)
Sign up
Follow their instructions
Arjun
And use relative uris
I use http://webhosting.uk.com ... for about £32 a year you get asp.net hosting and access to sql server.
then you simply ftp up to your website something like this (using windows explorer) ....
ftp://mysite.com <-- not a real link
... that would then open up the remote server as if it was a local folder so you could drag and drop your files straight over.
there's an online chat link on the top right of the homepage, the support staff will walk you through getting setup.
don't forget though ... the cost of the domain name that's the bit that turns your server ip address in to stuff like google.co.uk ... I highly recommend them.
I shall just expand on Quentin's answer, because it is clear that you are new.
What you need is a web hosting service. This is a service which hosts your html pages, meaning stores them in their own computers, and also displays them to the world as webpages. Web hosting services are usually paid, but there are some excellent free services if your content is not too big. A simple and free service that I would recommend is Google Sites. You could also try Google App Engine, where you have more freedom and control over your content, but for the same reason it is a little more advanced. But since you are learning html, I believe it is a wise idea to learn more about these services and related concepts.
When you upload your files, the html links need to be changed. They can no longer point to files in your hard drive. When you upload these files, there will be a directory structure in it. All you need to do is place hyperlinks with relative addresses.
And about what your website will be called, www.whatever.com, that is quite another business. For that, you need to register your own domain name, for which you must pay. If you don't want to, then your website will be labelled something under the hosting service domain name. This forum is not adequate to go into a more elaborate explanation of all this, but I think I have mentioned all the key terms, so do some research!
here's my website:
www.newportclassic.com
do you know of any free, easy to use, content management systems, that will allow me to simply edit the text on my site without having to download the file, open the file, edit the code, save the file, upload the file ???????
I know of a few CMS's that have done well, here are two of them.
Wordpress - free - http://wordpress.org/ - 3.0 is coming soon
Perch - paid - http://grabaperch.com/ - very light and easy
Wikipedia has a very good list of content management systems broken down by language and cost (open source/proprietary) and DBMS. Most of the ones I've used/evaluated in the past have been .NET based, such as DotNetNuke. Pretty much any CMS will give you the ability to edit your HTML without changing any files on your web server. If you're going for simplicity, the Wikipedia list has several that use a flat file instead of a database, so I would start there: http://en.wikipedia.org/wiki/List_of_content_management_systems#File_.2F_Flat_file
As an alternative to installing a CMS on your server, you might be interested in a service like CushyCMS. It allows you to specify what parts of your page are editable by setting an appropriate class in each editable div tag. Then to edit the contents of those div blocks, you log in to the CushyCMS site and make your changes right there. CushyCMS connects via FTP to the server for you and updates the HTML page.
You can use emacs -- it has a mode (tramp) where you can open, edit and save remote files as if they were on your local machine. This makes it really easy to edit files on a webserver.
haven't used it myself but i've heard Surreal CMS is quite good and easy to setup. Here's a tutorial to get you started.
In terms of user friendliness zimplit is hard to beat.
Try their demo.
You can literally edit your website with a wysiwyg interface inside your browser.
Refinery HQ is probably the easiest way to create, edit and update your website. You can upload images and files as you describe in your question.
You can also connect it to your own domain (it's a hosted service). So you'd be able to hook the site you create up to newportclassic.com
I want to design a website but I don't know from where to start.
Is there a beginners' guide to start with?
How much dedication do you hope to provide? If you merely want to design a single website, quickly and dirty, there's a plethora of open source web templates available online, with clean and basic HTML/XHTML design strategies that you could modify, and provide content for.
Such as this and that.
Alternatively, if you would like to design your own websites from scratch and have full technical knowledge in the field (the proper way). Pick up a book or two on HTML/XHTML/XML, with documentation on content management systems, php, etc.
You'd soon find that in the beginning your development would be gradual and at best, slow. If you put in sufficient effort, you would find that you get to the point where you can quickly design sites confidently, which best illuminate your content.
You should be familiar with this and this
Try this Web Design from Scratch
I understand by website you mean some kind of web-app. And by design you mean, not just the page design but the design of the web-app. First, you have to understand the anatomy of a web-app. The major components are:
Database is used to store user and application data for long term. A database provides query functionality (SQL), backup on one installation and restore on another, triggers when a data entry changes, and constraints that must be satisfied by the data tables.
Web Server, also called Http Server hosts the web application.
Web Browser such as Internet Explorer or Firefox.
When a user types a URL into the web browser, the web server forwards the URL to the corresponding web application. The web application performs the needed tasks (which may involve reading or writing into the database) and returns a new html page to the user via www.
Some components of the web application are:
Database access objects are representations of objects that encapsulate interaction with database tables.
Business Logic is the main logic of the application. Here we implement the search functionality using Lucene library, for example.
Action Handler handles a http request received from the user, for example when she types a URL or when she clicks on the "submit" button. These are Http GET and POST requests. The Action Handler uses the business logic to drive the actions.
Data view on the web brower is constructed using some template library (which usually produces javascript user interface code for the web browser). For interactivity one may use Ajax techniques.
Almost all web-apps separate the model, view and controller of a web application. The view deals with the display, the model deals with data and the controller deals with control/functioning. See http://www.uidesign.net/Articles/Papers/UsingMVCPatterninWebInter.html.
Several frameworks implement MVC. The most easy ones to get started are Ruby on Rails and Django (over which an open source social network called Pinax too is written). There are much more comprehensive frameworks and libraries in java too (for a single web appl you may need to join several of these libraries), such as spring, webwork, tapestry, lucene (for search), sitemesh (for page decoration). Many java web apps run on tomcat web server and with mysql database.
I started with http://w3schools.com. Make sure you're using Firefox and the Firebug addon. Get your hands dirty then get familiar with the web design community.
I have CSS Mastery by Andy Budd on my desk and it's a good, readable, short, yet deep guide to CSS.
Don't Make me think has also become my mantra of web design.
Overall, you're going to produce a lot of crap--as I have--before you get good. If you have someone to look over what you're doing that'll be the best help. Personal drive will matter the most in the long run though, so stick with it and keep learning.
Liz Castro has a good book too.