HeaderSIS.jpg

Difference between revisions of "Knowledge base"

From IS480
Jump to navigation Jump to search
Line 315: Line 315:
  
 
Hence, Team uClaim has developed an [[Media:The_oracle_installation_bible_(for_wiki).pdf‎ | Oracle Installation Bible]] to aid you in your installation and use of the Oracle Database.
 
Hence, Team uClaim has developed an [[Media:The_oracle_installation_bible_(for_wiki).pdf‎ | Oracle Installation Bible]] to aid you in your installation and use of the Oracle Database.
 +
 +
== Adobe Flex ==
 +
 +
[https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2010T1_Cowabunga_Final_Wiki Cowabunga] uses adobe flex 4 along with flash builder 4 as foundation building tools for their system.
 +
 +
=== Help Guide ===
 +
 +
[http://www.adobe.com/devnet/flex.html Flex Developer Center] is a one stop area where developers of flex can come together to learn the tools and possibilities with flex technologies.
 +
 +
=== Learning ===
 +
There are two ways to learn flex, either through 1 hour session or a week worth of tutorials and lessons conducted on line as follows:
 +
 +
[http://www.adobe.com/devnet/flex/testdrive.html Flex application in one hour] teaches users to basic of flex application and can learn it within 1 hour.
 +
 +
[http://www.adobe.com/devnet/flex/videotraining.html Flex in a week] teaches users the basic components of flex
 +
 +
=== Flex 4 vs FlashBuilder 4 ===
 +
 +
Often that is a misconception between flex and flash builder. Simply, flex is the API and flash builder is the IDE use to create flash websites along with the flex api. Flex can be downloaded for free and flash builder 4 can be downloaded for free as education version but will require payment once it is commercialize.
 +
 +
 +
=== Learning Curve ===
 +
 +
The learning curve for flex is relatively steep at the start as it uses flash builder own form of language. It takes a while getting use to but the Learning links and guides given by adobe are relatively comprehensive. This has help the team learn much about how to use flash builder. We will say it is some sort similar to visual studio where it uses aspects like handlers. One good aspect is that it has drag and drop designers that allows users to create fast interface designs. A user simply have to declare their methods as services and it can be invoked by the objects drag by a user. This is a simple way flex has introduce that requires minimal coding. For our team, as we dive deeper into the project, we realize that we no longer depend much on the flex ease of coding as we had certain events that we wanted to custom code ourselves. There are alot of trial and errors but the efforts were paid off.

Revision as of 08:03, 26 November 2010

Welcome to IS480 Knowledge Base

Here is where you can share and learn little knowledge about a tool, a feature, how to, industry domain, management practices, etc that you tried and learn in IS480. As this wiki is growing the organization of this knowledge changes. Please use links and references as much as possible.

OS & Networking

This section contains tutorials and links on setting up the various server platforms. If your server platform contains its own installation manual, please follow the guide provided by the vendor. Should there be any discrepancies in the information provided, or if you wish to suggest new material for the section, please contact the TAs.

Setting Up IIS On Windows

Setting Up Your First IIS Website

How to Setup Internet Information Services (IIS) on Windows XP

Setting Up Apache On Windows

Installation of Apache Tomcat on Windows

Setting Up Apache On Linux

Installing and Configuring Apache Web Server

Networking Basics

Key Concepts in Computer Networking

Configuring IP Addresses

Assigning Static IP Address (Windows XP)

SQL & MySQL Databases

This section provides tutorials and links to resources that involve the setup of SQL databases on Windows. If you have material pertaining to installing SQL on other Operating Systems (OS X, Linux), please let the TAs know.

Setting Up SQL Server 2008 on Windows

A Step By Step Guide To Installing SQL Server 2008

Setting Up MySQL Databases on Windows

There are two ways to install MySQL on Windows. The first way it to do a typical install using a MySQL installer, and the second is to use WAMP (Windows, Apache, MySQL, PHP) as an environment to run mySQL. If you are developing your application in PHP, or wish to use phpmyadmin to administrate the database, then you might consider running WAMP as opposed to a default install. If you need to have more manual control over your database, then you might consider using the default install.

Default Install

Official MySQL Reference Guide

Step By Step - Installing MySQL

Installing MySQL With Apache for PHP

WAMP Server Install

Installing WAMP Server on Windows

Comparing Other WAMP Platforms

MS SQL Server Tutorials

SQL Tutorials

Java & JSP

Setting Up A Java Development Environment on Windows

Setting Up and Getting Started in Java Programming

Setting up Eclipse

MVC Architecture

Model-View-Controller overview

JSP Tutorials

Collection of a large number of JSP Tutorials + Sample Codes

Uploading Files in JSP

File Upload Tutorial

PHP

Introduction to PHP

Overview of PHP

PHP Tutorials

Collection of PHP Tutorials

CodeIgniter (CI) by Team BOLT

PDF Generation with CI

  • This link uses DomPDF to generate PDF documents from web pages. It supports not just simple HTML but also CSS and XHTML. [1]

CI Plug-in to save as Microsoft Word format

  • This link speaks about how to save HTML to Microsoft Word document format. [2]

Sending Email with CI email class

  • Using CI email class, this saves programmers' effort to recreate email function manually. [3]

Generate a CI configuration file

  • This article speaks on how does one generate a configuration file using CI class. [4]

Form Validation

  • Form validation and code savings made easy using CI class. [5]

Encryption

  • This class is especially useful when user password needs to be encrypted before writing to database. [6]

Authentication in CI

  • Authentication in CI using sessions. [7]

FCK Editor for CI

  • Incorporate a FCK editor in CI. [8]

Pagination in CI

  • Achieve pagination in your view using CI class [9]

Javascript

Javascript is a browser-run scripting language that allows interactivity between the user and the browser. Some basic information on Javascript can be found at

Javascript Snippets

Sites that offer Javascript scriptlets.

Troubleshooting Javascript

Using FireBug on Mozilla

C#

C# interactions with MS SQL Server


AJAX

Introduction to AJAX

The technology that brings desktop application interactivity to the browser. Simple Introduction to AJAX

AJAX Snippets & Tutorials

AJAX & Javascript Using jQuery


Kijuuki's Knowledge Base

Version Date Link
V1.0 28 Aug 09 [10]

Team Pages

Team BOLT Sharing

Team Kudos Sharing

Team Autobots Sharing

Flash Action Script 3.0

Flash Tutorials

Create, Drag a Mask with Actionscript 3.0

Tweening with Actionscript 3.0

ActionScript 3 Basics : Tween

Basic ActionScript 3

Introduction to Flash-PHP-MySQL Communication with ActionScript 3

Video Tutorials on Flex, Air, Flash with ActionScript 3

Sample Tutorials - Drag & Drop 1

Sample Tutorials - Drag & Drop 2

Site to download vector graphics


Joomla [from NeűWorks. Inc]

IonCube

IonCube is a software specifically designed to protect software or scripts written using the PHP programming language from being altered in any way. This means they cannot be viewed, changed, or run on unlicensed computers.

Quite often hackers can pirate programs and use them for nefarious purposes or worse, distribute one’s program to the world. The encoding IonCube provides protects one from hackers stealing their software, and it also cloaks it so that they can't even see it. IonCube PHP Encoder is able to protect one intellectual property by encoding the PHP source code.


PHP.ini File

Given the wide attack surface and history of vulnerabilities in PHP, we need to carefully deploy and monitor PHP applications and build in layers of security. One layer that can be used to improve security is the PHP configuration settings themselves. The php.ini file contains several parameters that allow one to control the behavior of all PHP applications.

PHP.ini is very useful and it is a configuration file that is used to customize behavior of PHP at runtime. This enables easy administration in the way one administer Apache web server using configuration files.

The Settings in which upload directory, register global variables, display errors, log errors, max uploading size setting, maximum time to execute a script and other configurations is written in this file.


Zend Extension Manager

The Zend Extension Manager (ZEM) manages all the Zend product line extensions; every Zend extension is compiled for each PHP version. The ZEM selects the proper extension version, depending on the PHP runtime. In addition, the ZEM also exposes the C language API that reflects all the information for the managed extensions and is responsible for managing the licenses of these extensions.

Because the loading order of extensions is significant, there is a special 'load order' file that specifies the loading order of managed extensions. If the file is not supplied, the declaration order in the PHP INI files is significant.

Summary Summary.jpg


Learning Points

• IonCube Loader is not "open source”, hence it is difficult to tell what's wrong if it doesn't work. While using IonCube, the team faces issues while trying to integrate it into the project. As IonCube is only compatible with several different version of php, the team encountered installation and compatibility issues while working it around in the project. As the team is using an earlier version of PHP 5, and IonCube only support PHP 5.0.3 onwards, the team then does the necessary actions to resolve the problems.

• Even though it looks the team a great amount of effort to identify and resolve the issues, but this also creates a good opportunity for the team to pick up different skill set and knowledge.

• Before installing IonCube, the team understands that there are hosts that are non-compatible with it. Therefore, the team has reviewed through many web hosting and their compatibility before making the decision to choose the right one to work with.

SCRUM Methodology (Team Sociétale)

Scrum

Scrum Training PowerPoint

Project Management

For the project management aspect of Team uClaim's project solution, the team has decided to implement the Unfuddle software to aid them in developing a holistic project management solution. Unfuddle is encompasses Subversion hosting and implements tickets to track our progress with program bugs and milestones to track what we achieved


This one stop solution is much more efficient than alternate solutions.

For example-->

  • Subversion hosting: Sourceforge
  • File sharing: Dropbox
  • Project management: Google docs


Team uClaim has also written a product review for Unfuddle.



Oracle Database

Team uClaim chose to use the Oracle Database 10G Express as their database management system for their project.


Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that's free to develop, deploy, and distribute; fast to download; and simple to administer.


Oracle Database XE can be installed on any size host machine with any number of CPUs (1 database per machine), but XE will store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine.


Oracle offers superior, out the box enterprise software integration, better performance (especially for larger database) and better security features than MySQL.


However, the initial learning curve for mastering the Oracle database was rather steep and substantial time was required to read up on forums and to experiment with the database and connecting it to our web interface. Thus, developing and maintaining the database was an ever-ongoing learning process as whenever you updated or added a functionality, further tweaking of the codes (e.g. SQL) and connection logic was required.


Hence, Team uClaim has developed an Oracle Installation Bible to aid you in your installation and use of the Oracle Database.

Adobe Flex

Cowabunga uses adobe flex 4 along with flash builder 4 as foundation building tools for their system.

Help Guide

Flex Developer Center is a one stop area where developers of flex can come together to learn the tools and possibilities with flex technologies.

Learning

There are two ways to learn flex, either through 1 hour session or a week worth of tutorials and lessons conducted on line as follows:

Flex application in one hour teaches users to basic of flex application and can learn it within 1 hour.

Flex in a week teaches users the basic components of flex

Flex 4 vs FlashBuilder 4

Often that is a misconception between flex and flash builder. Simply, flex is the API and flash builder is the IDE use to create flash websites along with the flex api. Flex can be downloaded for free and flash builder 4 can be downloaded for free as education version but will require payment once it is commercialize.


Learning Curve

The learning curve for flex is relatively steep at the start as it uses flash builder own form of language. It takes a while getting use to but the Learning links and guides given by adobe are relatively comprehensive. This has help the team learn much about how to use flash builder. We will say it is some sort similar to visual studio where it uses aspects like handlers. One good aspect is that it has drag and drop designers that allows users to create fast interface designs. A user simply have to declare their methods as services and it can be invoked by the objects drag by a user. This is a simple way flex has introduce that requires minimal coding. For our team, as we dive deeper into the project, we realize that we no longer depend much on the flex ease of coding as we had certain events that we wanted to custom code ourselves. There are alot of trial and errors but the efforts were paid off.