Tuesday, September 20, 2011

UML Diagram of Payroll System

Today I completed the Basic Functionality of Payroll Management System. Here Below is the UML Diagram for Payroll Management System. R&D of both projects Complaint Management system and Payroll Management System will go hand in hand.

[caption id="attachment_33" align="aligncenter" width="1024" caption="UML Diagram of Payroll system"][/caption]

Monday, September 19, 2011

Selection of Formatting Logic

Logic Behind Generating is query is clearly visible in my mind, but I was stuck with the thing that how I am going to display the O/P in which format and that too importanly how???  So Brainstorming begins and along with that searching too, so as to collect some information about Formatting of Reports. But I did not work. so Whole Day went in thinking about the formatting. Hope fully tomorrow I will get the solution

Friday, September 16, 2011

Table Listing in Reporting tool Project

So, Today I started first with preparing Front End page for Selecting out which Tables of  database you want to work on. While Selecting a table you will be prompted to select the Fields, from which you have to select the fields for your query.  Ok Leave it this          is the next part of phase 1.

Below is the code discussed which is front end and will show you the each and every table of selected database:-

index.php
<html lang="en">
<head>
<script class="jsbin" src="jquery.min.js"></script>
<meta charset="utf-8" />
<link href="tablecloth/tablecloth.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="tablecloth/tablecloth.js"></script>
<script type="text/javascript" src="myscript.js"></script>
<script type="text/javascript">
var t = new ScrollableTable(document.getElementById('myScrollTable'), 150,250);
</script>

<title></title>
<script>
function showfield()// jQuery Function
{
var name = $("input[name='table']:checked").val();
jQuery.ajax({
url:'showfield.php',
type:"POST",
data: { clientdata : name },
success:function(data){ document.getElementById("result").innerHTML= data;}
});
return false;
}
</script>
<script>
function enterfield()// jQuery Function
{
var Selected = new Array();
jQuery("input[name='field[]']:checked").each(function(){
Selected.push(jQuery(this).val());
});

jQuery.ajax({
url:'enterfield.php',
type:"POST",
data: { clientdata : Selected },
success:function(data){ document.getElementById("enterfield").innerHTML= data;}
});
return false;
}
</script>
</head>
<body>
<form>
<table style="margin-left: auto; margin-right: auto;" id="myScrollTable">
<tr>
<th>
Select Table
</th>
</tr>
<?php
include_once 'config.php';
if($op=='mysql'){

}
elseif ($op=='postgresql') {
$query=pg_query("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';");
/*Above Query retrieve table names from selected database in config.php */ 
while($result=pg_fetch_array($query)){
echo'<tr><td>';
echo'<input type="radio" name="table" value="'.$result['table_name'].'"onclick="showfield();" />'.$result['table_name'].'</td>';
echo '</tr>';
}
}
?>
</table>
</form>
<div id="result">

</div>
<div id="enterfield">

</div>
<p><tt id="results"></tt></p>
</body>
</html>

After That is the showfield.php from which fields for table are displayed for every click on radio button of table
showfield.php
<?php
include_once 'config.php';
$t= $_POST['clientdata'];
$query= pg_query("SELECT column_name FROM information_schema.columns WHERE table_name ='$t';");
echo '<table>';
echo '<tr><th>Select Field</th></tr>';
while($result=pg_fetch_array($query)){
echo '<tr><td><input type="checkbox" name="field[]" value="'.$result['column_name'].'" onclick="enterfield();"/>'.$result[column_name].'</td></tr>';
echo'</br>';
}
echo '</table>';
?>

Thursday, September 15, 2011

Reporting Tool for PHP

Today I am over to my 3rd project that is the Reporting tool for PHP. As far as DIO Sir searched and also I searched we had not found any suitable tool for PHP to generate automatic reports on the basis of queries that are being generated. Those We found are not FOSS and which are FOSS were not living upto our expectations.

So An anlaysis started today regarding Generation of PHP Reporting Tool.

I divided it into 3 sections as per as following:-

  1. Dynamic Query Generation

  2. Display Formatted Report (preferably in Doc) on the basis of user selection of Fields formatting

  3. Final PHP code generated which is report code and can be integrated with the project


So I will work on these phases one by one. And Regarding the Feasibility of this Project, This Project is quite feasible but being feasible it is quite time consuming. Because I need to work a lot on the formatting of reports.

Wednesday, August 17, 2011

Reporting in Complaint Management System

Today I did the last remaining job of the Complaint Management System Project, and that was the issue of Reporting. Few days earlier I got stuck regarding choosing the proper reporting tool. But then mind moved on to the my oldy friend ODTPHP and ya it's true, old is gold it would never cheat. ODTPHP made me happy and did what I wanted. But a bit stress on my mind was also put upon by me as I was not able to find any suitable o/p from googling. The feature that I was looking for in ODTPHP was that I had to insert a separate segment in a cell of every row of column. In short I need to do this:-

$odf= new odf("report.php");

$article= $odf->setSegment('complaint');

while(some cond){

$article->dispatch->setVars();

}

Thursday, August 11, 2011

Installing Django on ubuntu

Hello Visitors, A Post after a long long time, currently I am getting my training at NIC Barnala for my degree course. I had done a project in php for NIC now I got bored from it and wanna shift to Some other framework or Scripting language. This time I selected Django framework based on python. Below are the steps to install it. The Project is a surprise :-

Install server software


Install Apache, Mod_Python, MySQL and MySQLdb. MySQLdb is the database bindings for MySQL. Django also supports PostgreSQL, Oracle and SQLite. If you choose to use a different database server, be sure to install the appropriate Python bindings.

sudo apt-get install apache2 libapache2-mod-python

sudo apt-get install mysql-server python-mysqldb

Install the Django source code

At this point you have a couple of options. You could “apt-get install” a Django package, install an official release or install the development version. I chose to install the development version because it contains the latest bug fixes and features. We’ll be checking out the latest version from its Subversion repository. You’ll want to be in your home directory when you do this.
cd ~/
svn co http://code.djangoproject.com/svn/django/trunk/ django_src

Python won’t recognize Django unless it is installed in the “site-packages” directory, so instead we just create a symbolic link to the source code in our home directory. Run the first command to find out the path to your “site-packages” directory. Then use it in the second command, in place of “YOUR-DIR”. Lastly, copy the django-admin.py file into /usr/local/bin so that we don’t have to qualify the command with the full path to the file.

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"



ln -s `pwd`/django_src/django YOUR-DIR/django



sudo cp ~/django_src/django/bin/django-admin.py /usr/local/bin

Create Django’s directories

Next we need to create some directories that Django will use. Once again, create these under your home directory.
cd ~/
mkdir django_projects



mkdir django_templates



mkdir media
Then we need to create some symbolic links in your webroot. The default webroot for an Apache2 installation on Ubuntu is /var/www. We are going to create a link to the media folder in your home directory, and a link to the admin_media folder which is provided in the Django source code.

cd /var/www



sudo ln -s  ~/media media



sudo ln -s ~/django_src/django/contrib/admin/media admin_media

Create a Django project

Move into your Django projects directory that we just created. We will be starting a new project using Django’s command line utility. This will give us a basic directory structure and the necessary configuration files. In my example I named the project “myproject.” Feel free to choose any name, as long as it does not conflict with any built-in Python or Django components. In particular, this means you should avoid using names like django (which will conflict with Django itself) or site (which conflicts with a built-in Python package).
cd ~/django_projects



django-admin.py startproject myproject
Edit the myproject/settings.py file and change the following sections:
  1. Uncomment and change the ADMINS settings:-

    6
    
    7
    
    8
    
    9
    
    10

    ADMINS = (
    
    
    
        ('Your Name', 'your_email@domain.com'),
    
    
    
    )


  2. Enter your database settings. You will need your database, username and password. Most likely your database server is running on the same server, so leave DATABASE_HOST blank.

    12
    
    13
    
    14
    
    15
    
    16
    
    17
    
    18
    
    19
    
    20
    
    21
    
    22

    DATABASE_ENGINE = 'mysql'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
    
    
    
    DATABASE_NAME = 'django_databae'             # Or path to database file if using sqlite3.
    
    
    
    DATABASE_USER = 'you'             # Not used with sqlite3.
    
    
    
    DATABASE_PASSWORD = 'yourpassword'         # Not used with sqlite3.
    
    
    
    DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
    
    
    
    DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.


  3. Change your timezone if necesary.


    19
    
    20
    
    21
    
    22
    
    23
    
    24
    
    25
    
    26
    
    27
    
    28
    
    29


    # Local time zone for this installation. Choices can be found here:
    
    
    
    # http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
    
    
    
    # although not all variations may be possible on all operating systems.
    
    
    
    # If running in a Windows environment this must be set to the same as your
    
    
    
    # system time zone.
    
    
    
    TIME_ZONE = 'America/Chicago'


  4. Point Django at the template directory we created.


    69
    
    70
    
    71
    
    72
    
    73
    
    74
    
    75

    TEMPLATE_DIRS = (
    
    
    
    "/home/YOUR_USERNAME/django_templates"
    
    
    
       # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    
    
    
    )


  5. Do the same thing for the media url and directory we created earlier.


    36
    
    37
    
    38
    
    39
    
    40
    
    41
    
    42
    
    43
    
    44
    
    45
    
    46


    # Absolute path to the directory that holds media.
    
    
    
    # Example: "/home/media/media.lawrence.com/"
    
    
    
    MEDIA_ROOT = '/home/YOUR_USERNAME/media/'# URL that handles the media served from MEDIA_ROOT. Make sure to use a
    
    
    
    # trailing slash if there is a path component (optional in other cases).
    
    
    
    # Examples: "http://media.lawrence.com", "http://example.com/media/"
    
    
    
    MEDIA_URL = 'http://yourdomain.com/media/'


  6. Set the admin media directory that we created in your webroot


    45
    
    46
    
    47
    
    48
    
    49
    
    50
    
    51


    # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
    
    
    
    # trailing slash.
    
    
    
    # Examples: "http://foo.com/media/", "/media/".
    
    
    
    ADMIN_MEDIA_PREFIX = '/admin_media/'


  7. And finally, add the admin application to your install applications


    76
    
    77
    
    78
    
    79
    
    80
    
    81
    
    82
    
    83
    
    84
    
    85
    
    86
    
    87
    
    88


    INSTALLED_APPS = (
    
    
    
       'django.contrib.auth',
    
    
    
       'django.contrib.contenttypes',
    
    
    
       'django.contrib.sessions',
    
    
    
       'django.contrib.sites',
    
    
    
       'django.contrib.admin',
    
    
    
    )

After making all those changes to the configuration we need to synchronize the Django database. You�ll also get a prompt asking you if you�d like to create a superuser account for the authentication system. Go ahead and do that.

django-admin.py syncdb

Edit the URL configuration file and uncomment the admin line. This will allow you to access the admin section later.
nano ~/django_projects/myproject/urls.py

1

2

3


     # Uncomment this for admin:



    (r'^admin/', include('django.contrib.admin.urls')),


Configure Apache and mod_python


In Apache2 on Ubuntu, changes to the Apache configuration are done to the/etc/apache2/httpd.conf file. We are going to configure mod_python to handle requests for the root of the site and give control to Django. However, Django doesn’t serve media files itself; it usually expects you to have a different webserver serving these files. In our case though, we want Apache to handle it, so we need to turn off mod_python for some parts of the site. You will also need to do this if you have any other folders or scripts that you want excluded from Django’s control. In my example, I have phpMyAdmin, my media folders and any URL that ends with .jpg, .gif or .png be excluded.

When deploying Django sites on mod_python, you’ll need to restart Apache each time you make changes to your Python code. However, since I’m using this as a development server, I discovered a way to avoid the hassle of having to restart the server each time. At the top of my httpd.conf, I have the line MaxRequestsPerChild 1. This forces Apache to reload everything for each request. Do not use this setting on a production server!
The only other lines you need to change are in the firstblock. Change “myproject.settings”, if you are using a different name for your project. Then below that be sure to change the PythonPath to point to the django_projects folder in your home directory.
sudo nano /etc/apache2/httpd.conf


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36


MaxRequestsPerChild 1



   SetHandler python-program



   PythonHandler django.core.handlers.modpython



   SetEnv DJANGO_SETTINGS_MODULE myproject.settings



   PythonPath "['/home/YOUR_USERNAME/django_projects'] + sys.path"



   SetHandler None



   SetHandler None



   SetHandler None



   SetHandler None

Restart Apache

sudo /etc/init.d/apache2 restart
You can now view your new Django website by visiting the root of the website you installed it at – http://yourdomain.com/ . You should see a Page not Found (404) error message generated by Django. Congratulations! Everything is working. You can also go to http://yourdomain.com/admin/ and log in with the superuser you created earlier.

Now that you’re done with the easy part, all thats left is to get started writing your Django apps. There is a tutorial on the official Django website that will walk you through creating an application.

Monday, June 20, 2011

Making Bootable Window 7 USB from Linux

Few days earlier i got my window crashed and it started showing Boot MGR Missing. I needed a bootable window dvd. But acting as an add on to my unfortunate, DVD ROM also got ill. :P
That's why the only option was to make usb bootable. But i found so many tutorials regarding making bootable usb from windows only. From linux i found almost nothing. Then i found a useful tutorial. Here is it:-

Install ms-sys, if it is not in your repositories, get it here. and follow instruction there for installing.

Follow the following instruction:-

Create an NTFS filesystem:
# mkfs.ntfs -f /dev/sdb1
Mount ISO and USB media:
# mount -o loop win7.iso /mnt/iso
# mount /dev/sdb1 /mnt/usb
Copy over all files:
# cp -r /mnt/iso/* /mnt/usb/
Write Windows 7 MBR on the USB stick:
# ms-sys -7 /dev/sdb
...and you're done.