You are on page 1of 28

DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Internship Report

Supervisor
Mr. Muhammad Zeeshan Asaf

Organization

Dynexcel

Submitted by

Muhammad Tayyab Bilal


2016-ag-7897
BS-SE 8th Semester
0314-3211618

BS-Software Engineering
Department of Computer Science
University of Agriculture, Faisalabad

UNIVERSITY OF AGRICULTURE Page 1


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Table of Contents

Chapter 1 – INTRNSHIP REPORT ................................................................................................ 1


1.1 Table of Contents: ................................................................................................................. 2
1.2 Introduction of Organization:................................................................................................ 3
1.3 Internship Certificate: ........................................................................................................... 4
1.4 Acknowledgment: ................................................................................................................. 5
1.5 Executive Summary: ............................................................................................................. 6
1.6 Overview of Organization: .................................................................................................... 7
1.7 Organization Structure: ....................................................................................................... 10
1.8 Plan of Internship Program: ................................................................................................ 13
1.9 Training Program: ............................................................................................................... 14
1.10 Reflective Journal Entries: ................................................................................................ 19

UNIVERSITY OF AGRICULTURE Page 2


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

ITRODUCTION TO ORGANIZATION
DYNEXCEL ISTITUTE OF INFORMATIION
AND TECHONOLOGY

UNIVERSITY OF AGRICULTURE Page 3


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Internship_Certificate

UNIVERSITY OF AGRICULTURE Page 4


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Acknowledgment
The internship opportunity I had with Dynexcel was a great chance for learning and professional
development in my desired field. Therefore, I consider myself as a very lucky individual as I was
provided with an opportunity to be a part of it. I am also grateful for having a chance to meet so
many wonderful people and professionals who led me though this internship period.
Bearing in mind previous I am using this opportunity to express my deepest gratitude and special
thanks to the Director/CO Founder of Dynexcel Sir Farhan Rashad who in spite of being
extraordinarily busy with his responsibilities, took time out to hear, guide and keep me on the
correct path and allowing me to carry out my project at their esteemed organization and extending
during the training.
I express my deepest thanks to Muhammad Adeel, director of Dynexcel for taking part in useful
decision & giving necessary advises and guidance and arranged all facilities to make life easier. I
choose this moment to acknowledge his contribution gratefully.
Special thanks to all my friends for sharing their experiences, time and commitment especially
during finishing this internship program. I am grateful because I have loyal friends were helps and
support me throughout the course of completing the internship program.
I perceive as this opportunity as a big milestone in my career development. I will strive to use
gained skills and knowledge in the best possible way, and I will continue to work on their
improvement, in order to attain desired career objectives. Hope to continue cooperation with all of
you in the future.

Sincerely,
Muhammad Tayyab Bilal
Reg.# 2016-ag-7897
BS(SE) 8th Semester
0314-3211618

UNIVERSITY OF AGRICULTURE Page 5


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Executive Summary
I am going to start summarizing this report from the section 8: Overview of the organization.
In this section, I've tried my best to provide a brief history about the organization in concern:
Dynexcel. After completely elaborating about the history of organization, I've briefly explained
about the organization, it's policies and competitors of Dynexcel.
The next section mainly focuses on the structure of Organization. So I've provided a hierarchy chart
of this organizations employees in the beginning of this section. Then I've provided more details
about the organization like as: Number of Employees, Main offices contact details & location
details, brief and in-depth introduction to all the (functional) departments of Dynexcel. Finally, in
this section, I've provided some of my own reviews and comments on the structure of this
organization.
All of the information provided in above two sections (excluding my comments about
organizational structure) was gathered from relevant personnel of Dynexcel (so there's no need to
panic about its authenticity).
Tenth section of my internship report elaborates about the plan & other details of my internship
program. It includes brief introduction of Dynexcel’s branch where I did my internship. Then I've
provided starting and ending dates of my internship. Then I've mentioned the name of department in
which I worked as an internee in Dynexcel.
Next section includes some descriptive details about my training program. It includes the details
about activities performed by ODOO Technical Consultant Department of Dynexcel. I have also
provided the details about the task(s) I've been assigned by my tutors and mentors during the
internship.
Last but not least, Reflective Journal Entries is the section where I've gone in more details about my
daily activity at Dynexcel. What I did on daily basis, which persons were involved in these
activities and what influence of those persons I felt upon myself.

UNIVERSITY OF AGRICULTURE Page 6


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Overview of the Organization


a. Brief History
Dynexcel is a high end innovative ODOO ERP Partner in Pakistan. Established in 2015, we are
pioneer in providing superior and world standard ERP based solutions for small to large corporate
companies; offshore and local. Today we are comprised of a team of genius programmers,
designers, and marketing executives- selectively chosen to lead our clients in their ODOO ventures.
We seize each new opportunity and leverage it to the enhancement of overall development
procedures. Quality deliverable and customer satisfaction are not simply a result of our
technological prowess. It is a culmination of years of mastering skills and working hand-in-hand
with clients to maximize the investment in their online business efforts.

b. Introduction of the Organization


Since its inception, it has grown and progressed to be at the center stage of information and
technology, providing effective computing strategies and solutions to Private and Government
Organizations. Dynexcel has played a major role in some of the largest IT projects in the country.
Internationally, the Company has established itself as a key player in the critical market segments of
different countries, providing services & products to a growing list of corporate clients. Our diverse
expertise extends beyond deployment to provide operational, maintenance, support and business
outsourcing services. Our Technology Specialists have years of experience delivering successful
solutions based on ODOO ERP technologies.

c. Policy of the Organization


Company policies and procedures establish the rules of conduct within an organization, outlining
the responsibilities of both employees and employers. Company policies and procedures are in
place to protect the rights of workers as well as the business interests of employers. Depending on
the needs of the organization, various policies and procedures establish rules regarding employee
conduct, attendance, dress code, privacy and other areas related to the terms and conditions of
employment.
Our mission is to be the trusted partner of our clients, helping them to enhance their business
performance by providing them with innovative, state-of-the-art software solutions, automated and
integrated workflows and business processes and the highest quality of, and quickest turnaround
times for IT and IT enabled services. We believe that we exist to serve our customers with mutual

UNIVERSITY OF AGRICULTURE Page 7


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

respect and care, to take pride in our work, and to act with integrity in all that we do, while striving
for financial gains for our stakeholders, customers and employees.
Our vision is to be recognized by our customers, employees, stakeholders, vendors, partners and
competitors as the number one Software house and IT enabled services provider of Pakistan; to be
rated among the best software solutions and IT services company within the Finance & Apparel
market segments in the USA; and to have a strong presence in the South East Asia, Middle East and
European Markets.

d. Competitors
1. AARSOL PRIVATE LIMITED
Since its inception in 2010, AARSOL PRIVATE LIMITED Institute has been the premier of IT
education in the country, meeting the technical, communicative, and training needs of the entire IT
industry of Pakistan by retaining crucial links between the Career Institute and the industrial world.
We are determined to achieve the endeavor of imparting world class IT education while focusing
students’ social, moral, technical and job placement aspects, both at national and international
strata. We have well-qualified, experienced, international certified faculty with hand on industrial
experience to train students in order to cater the needs of highly challenging and competitive world
of IT. At Career Institute, we have a very friendly learning environment with the latest state of the
art IT infra-structure, having modern computer hardware and software equipment’s.

2. Gerry's Information Technology (Pvt.) Ltd


Gerry's Information Technology (Pvt.) Ltd operating from Pakistan and UK, have been providing
business software, ODOO, ERP solutions and services to domestic and international markets since
2004. We believe that technology plays vital role for grooming people and businesses. That’s why
we always try to help people in achieving their objectives by using best technologies and solutions.

3. AnaConEx Solutions (HCS)


Provide easy to use Software solutions for Accounts Inventory, Payroll in(ODOO)
AnaConEx Solutions (HCS) offers a wide range of custom software programming services. We
have outstanding experience in custom database development, desktop and distributed application
design as well as various custom software components both at individual desktop and enterprise
level.

UNIVERSITY OF AGRICULTURE Page 8


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

4. Comstar Pakistan
When spring season starts in 2002 Comstar Pakistan was established in Islamabad - Pakistan. It has
been providing E-business and other IT solutions for clients. Over the last 14 years Experts Soft has
been proven to the best and the most reliable company among others.

UNIVERSITY OF AGRICULTURE Page 9


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Organizational Structure
a. Organizational Hierarchy Chart

Board of Director

HRM

ODOO ODOO ODOO


Technical Functional Supply Chain
Consultant Consultant Management

b. Number of Employees
Total No. of employees in Dynexcel Software house are more than thirty in all departments working
in their relevant fields. All the employees are divided in groups due to the more than one
departments such as ODOO Technical Consultant, ODOO Implementation, IOS application
development and SEO. And they work together at a project so that the project should complete
immediately.

c. Main Offices
Currently, Dynexcel operates in just one office located in Ghuri Arcade of Faisalabad. Complete
details about location and contact information is as follows:
Head-office Faisalabad: Service Rd, Suhail Abad Batala Colony, Faisalabad, Pakistan.
Mobile: +92-333-1616393
Phone: (041) 8500733
Email: info@dynexcel.com

UNIVERSITY OF AGRICULTURE Page 10


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

d. Introduction to all the departments


1. ODOO Technical Consultant: ODOO software development is the process by which new
applications are created for the ODOO Framework. Applications are usually developed in
PYTHON programming language using the ODOO, but other development environments are also
available.

2. Android & IOS Development: Android & IOS Development mobile app developed by using
Flutter.

3. ODOO Implementation: When you’re looking for an ERP, there are a number of variables that
you need to think of: Price, business needs, sustainability, scalability, robust capabilities, learning
curve, user-friendly dashboards, training resources, and the list goes on. You’ve decided that you
want to modernize your back-office and operational processes - Odoo is a robust business solution
for all sizes and industry verticals.

4. ODOO: The word Odoo is the acronym of On-Demand Open Object. Odoo is a large collection
of business-related applications and modules like CRM, Sales management, E-commerce,
Warehouse management, Purchase management, Accounting suit, Manufacturing management,
HRMS, etc.

6. SEO: Search engine optimization (SEO) is the process of affecting the visibility of a ODOOsite
or a ODOO page in a ODOO search engine's unpaid results — often referred to as "natural,"
"organic," or "earned" results. In general, the earlier (or higher ranked on the search results page),
and more frequently a site appears in the search results list, the more visitors it will receive from the
search engine's users, and these visitors can be converted into customers. SEO may target different
kinds of search, including image search, local search, video search, academic search, news search
and industry-specific vertical search engines. As an Internet marketing strategy, SEO considers how
search engines work, what people search for, the actual search terms or keywords typed into search
engines and which search engines are preferred by their targeted audience. Optimizing a ODOOsite
may involve editing its content, HTML and associated coding to both increase its relevance to
specific keywords and to remove barriers to the indexing activities of search engines. Promoting a

UNIVERSITY OF AGRICULTURE Page 11


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

site to increase the number of backlinks, or inbound links, is another SEO tactic. As of May 2015,
mobile search has finally surpassed desktop search, Google is developing and pushing mobile
search as the future in all of its products and many brands are beginning to take a different approach
on their internet strategies.

e. Comments on the organizational structure


Dynexcel is a well-managed and well-structured organization. Organizational structure refers to the
way that an organization arranges people and jobs so that its work can be performed and its goals
can be met. When a work group is very small and face-to-face communication is frequent, formal
structure may be unnecessary, but in a larger organization decisions have to be made about the
delegation of various tasks. Thus, procedures are established that assign responsibilities for various
functions. It is these decisions that determine the organizational structure. In an organization of any
size or complexity, employees' responsibilities typically are defined by what they do, who they
report to, and for managers, who reports to them. Over time these definitions are assigned to
positions in the organization rather than to specific individuals. The relationships among these
positions are illustrated graphically in an organizational chart (see Figures 1a and 1b). The best
organizational structure for any organization depends on many factors including the work it does;
its size in terms of employees, revenue, and the geographic dispersion of its facilities; and the range
of its businesses (the degree to which it is diversified across markets).
There are multiple structural variations that organizations can take on, but there are a few basic
principles that apply and a small number of common patterns. The following sections explain these
patterns and provide the historical context from which some of them arose. The first section
addresses organizational structure in the twentieth century. The second section provides additional
details of traditional, vertically-arranged organizational structures. This is followed by descriptions
of several alternate organizational structures including those arranged by product, function, and
geographical or product markets.

UNIVERSITY OF AGRICULTURE Page 12


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Plan of Internship Program


a. Brief Introduction to Dynexcel
Dynexcel is the organization (Software house) in which I've done my internship. It is situated in
Ghuri Arcade Satiana Road Faisalabad. This is a very famous software house in Faisalabad. There
are lot of clients or customers of this organization. Because this is a very competitive software
house and its work is very attractive good and within the time. So that is the reason that the mostly
people try to deal their work to this organization. Dynexcel does not only work in the field of
Technology on order. But it makes their own useful projects and then they sale out these projects
with the help of many online ODOOsites because most of the people try to find the projects
according to their requirements by online. If they found any project according to their requirements,
then they prefer to purchase that project by online because he found this immediately. We worked in
Dynexcel software for 6 Weeks according to our internship period. They provided us a good
environment to learn a lot of things in our internship period in our ODOO ERP Technical
Consultant.
Since its inception, it has grown and progressed to be at the center stage of information and
technology, providing effective computing strategies and solutions to Private and Government
Organizations. Dynexcel has played a major role in some of the largest IT projects in the country.
Internationally, the Company has established itself as a key player in the critical market segments of
different countries, providing services & products to a growing list of corporate clients. Our diverse
expertise extends beyond deployment to provide operational, maintenance, support and business
outsourcing services. Our Technology Specialists have years of experience delivering successful
solutions based on ODOO, Python technologies.

b. Starting & Ending Dates of Internship


Starting Date: 3-Feb-2020
Ending Date: 12-April-2020

c. Name of Concerned Department


I got training in the department of ODOO Technical Consultant. I've been training in this
department of Dynexcel for six weeks.

UNIVERSITY OF AGRICULTURE Page 13


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Training Program
a. Details on Activities of ODOO Technical Consultant cell of Dynexcel
The operations/activities performed by ODOO Technical Consultant department mainly include
Developing applications using the ODOO Framework, for large and small Enterprises to manage
their entire operations.
Work with outside data sources and API’s Integrating native ODOO ODOO code with ODOO
views running HTML5 ODOO applications Participation in the ODOO community Working with
the ODOO Technical Consultant team at Dynexcel and hardware manufacturers Liaising with end
users to gather and aggregate bug reports
Work on bug fixing and improving application performance.
Monitoring ODOO market feedback and reacting swiftly to user demand Writing and maintaining
unit tests Continuously discover, evaluate, and implement new technologies to maximize
development efficiency.
A team is made by this department for Implementing ODOO ERP. This team consists of different
members such as Product Manager, ODOO Technical Developer, Verifier, Approver, Quality
Assurance Project leader. Every member has its own role in this team such as

Product Manager
This is the CEO of the product who is responsible for everything – strategy, requirements
documents, making sure the product is built to specification, and that it succeeds in the marketplace.
Maybe you feel that’s your role, but it should be someone with mobile software product
management experience. If you don’t have this experience, make sure someone on the team does
and that you listen to them.

Developer
ODOO Technical Developer can provide customize QODOO-pdf report and take look at technical
side of ODOO.

Verifier
"Verifiers" are responsible for testing change requests. After individuals have submitted a
significant amount of high-quality code to the project, the project leads might invite them to become

UNIVERSITY OF AGRICULTURE Page 14


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

verifiers.

Approver
"Approvers" are experienced members of the project who have demonstrated their design skills and
have made significant technical contributions to the project. In the code-review process, an
approver decides whether to include or exclude a change. Project leads choose the approvers,
sometimes promoting to this position verifier who have demonstrated their expertise within a
specific project.

Quality Assurance (QA)


These are the folks who test for bugs. It’s better if the final QA team is kept at arms distance from
the engineers as the QA folks assure that engineering has done its job correctly.
Release Management – These people are responsible for keeping the code repository in order. They
also know how to code sign and release the app to the iTunes Store or Google Play consists of a
number of sub-projects; you can see these in the git repository as individual. git files.

Project Leader
Project leaders are senior contributors who oversee the engineering for individual odoo projects.
Typically, these project leaders are Dynexcel employees. A project leader for an individual project is
responsible for the following:
Lead all technical aspects of the project, including the project roadmap, development, release
cycles, versioning, and quality assurance (QA).
Ensure the project is tested by QA in time for scheduled ODOO platform releases.
Designate Verifiers and Approvers for submitted patches. Be fair and unbiased while reviewing
changes. Accept or reject patches based on technical merit and alignment with the ODOO strategy.
Review changes in a timely manner and make best efforts to communicate when changes are not
accepted. Optionally maintain a ODOO site for the project for information and documents specific
to the project. Act as a facilitator in resolving technical conflicts. Be a public face for the project
and the go-to person for questions related to the project. The team is expected to do the following
for the Approval of developed App

UNIVERSITY OF AGRICULTURE Page 15


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Start Early
First of all, they have to know that they need to start early if they have a deadline. It’s best to
submit their minimum viable product when it’s available, and then work up to their main release,
versus submitting their final release a week before their deadline. It’s a little unusual for an app to
take two and a half months to get through the process, but it’s not unheard of. Success depends
mostly on the team member who is submitting it.

Stay Within the Guidelines


The other important thing to consider is whether their app violates ODOO policies. This is why it’s
a good idea to submit their minimum viable product (MVP) early, so they don’t invest as much time
perfecting an app that can’t be released. Many types of apps are simply not allowed. Registered
ODOO developers can find out more by logging into their developer account and reading the
Perhaps a third of the app ideas that people tell about are not viable on ODOO because they violate
some of ODOO’s guidelines. The guidelines aren’t arbitrary or excessive in my experience, and
there is a usually a good reason for them.

Make it Useful
Their app must be useful. If their app could just as easily be a static ODOO site, it will likely be
rejected. A lot of developers want to make business card apps, where the app is nothing much
beyond a mere business card with an app icon. You could make an app that is essentially a high-
quality brochure for your products and services, as long as it uses the unique capabilities that an app
provides, such as the ability to download fresh new videos on a periodic basis, or present other
types of dynamic content.

Good Code
Make sure their app is technically well-designed and coded. ODOO can reject their app if their
technical house is not in order, or if they’re using the wrong APIs to achieve various tasks in the
app.If the developers have done a great job, then the process will be quick, but if a lot of things
need to be fixed, then we need the time to fix those things, which sometimes can take weeks or
longer. One file that needs special attention is the info.plist file. This file stores the settings,
configurations, and ERP requirements for the app. There are potentially hundreds of settings, and

UNIVERSITY OF AGRICULTURE Page 16


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

this is not a place for novice developers to experiment.


In the end this department is responsible for mobile apps development. As we know now a day
smart mobile has got over the perception of just performing as a system to make speech calling. It
has now included in itself number of other functions which have introduced a large trend in the
mobile. application development can be thanked for the improvements that have been
knowledgeable or keep be knowledgeable in the smart mobile phone area and industry. This is the
procedure that engaged ongoing enchantments and development hence there is much to be predicted
as the time go by and as the developer come up with better thoughts to make phone efficient in all
methods. Well talking about ODOO app development, ODOO apps are built as a combination of
distinct components that can be invoked individually. For instance, an individual activity provides a
single screen for a user interface, and a service independently performs work in the background.
From one component you can start another component using an intent. You can even start a
component in a different app, such as an activity in a maps app to show an address. This model
provides multiple entry points for a single app and allows any app to behave as a user's "default" for
an action that other apps may invoke.
ODOO is adaptive to many ERPs and ODOO provides an adaptive app framework that allows
you to provide unique resources for different ERP configurations. For example, you can
create different XML layout files for different screen sizes and the system determines
which layout to apply based on the current ERP's screen size.
You can query the availability of ERP features at runtime if any app features require
specific hardware such as a camera. If necessary, you can also declare features your app
requires so app markets such as Google Play Store do not allow installation on ERPs that
do not support that feature.

b. Details about Task(s) assigned to me


I started ODOO Technical Consultant from the very concepts of Python, OOP and Inheritance. I
was given the tasks of exploring these concepts and getting the best understanding of these
concepts. When I considered myself confident my tutor Mr. Ahmad Raza started teaching the
further concepts of ODOO Technical Development which included Exception handling and Try-
Catch-Finally. He taught me the core concepts of ODOO Technical Consultant day by day and
starting from the first day if the concepts were theoretical then my task was to understand these
concepts in detail and if the concepts were practical then my task was to make something practically
not just understanding the concepts. After the concepts of Exception handling and Try-Catch-

UNIVERSITY OF AGRICULTURE Page 17


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Finally my tutor started teaching ODOO and fundamentals of ODOO Framework.


Then he told me about the history and introduction to odoo.sh studio and my task was to learn how
to work on odoo.sh.I also work on locally community edition of ODOO by configuring PyCharm
with ODOO. This task was time consuming because it took a lot of time to configure its packages
and components. I installed the selective packages and then downloaded and installed the ODOO
Community Version on our system.
This time the given task was to build the first ODOO app (Hello World Application). I completed
this task within half hour because it was a basic app and did not take much time. After that, no tasks
were given my tutor just gave me the introduction about ODOO application structure,
ODOOManifest.py. Then the other day I was given the introduction about activities and activity
Lifecycle After this introduction the new task was to create first module in ODOO Framework,
launching module, editing module and installing module on local community version of ODOO. I
did this task on my own by searching the internet and then I was able to create first module and
could edit its settings. My tutor introduced me with XML and gave me the task to develop the
ODOO module that can switch between activities using XML. Later I developed this application
and had a good understanding about XML. I was taught the basics of UI design and Mr. Ahmad
gave me an introduction about layouts but no task was given.
Now Sir Ahmad started giving the introduction about various concepts of ODOO Framework which
included like we use xml for UI design. My task was to learn basic of xml ODOO Framework. He
taught me about ODOO ERP. After completing this task Sir Ahmad gave me an overview about
various ERP Systems and the task was to use each of these. These tasks and concepts were
interesting about ODOO Framework. I had developed some small apps and my tutor gave me a task
to discover a use the wizard in my developed module.
This time I was given the big task to make the addons for already developed ERP System. Which
was named g2020 for GMSA INDUSTRIES PVT LTD. The first task for making module to add
custom fields in view of accounting app of ODOO. The next task regarding this g2020 db was to
gather information QODOO. After gathering lot of information about QODOO and building some
testing module of QODOO report I also start working to develop QODOO report for GMSA
industries. And side by side I also start work to build Construction project app in ODOO
Framework.

UNIVERSITY OF AGRICULTURE Page 18


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Reflective Journal Entries


In this section, I have included the detailed summary of each day's activity perform at Dynexcel.
Along with the summary of assignments and tasks performed on each day, this section also includes
my impression of organization and the staff at Dynexcel.

First Week

Monday
Introduction to PYTHON concepts, OOP & Inheritance.
This was the first day of our internship, Mr. Ahmad introduced us to some basic concepts of
PYTHON, the programming language used to write the back-end functionality of ODOO
Applications. He also gave some peep over PYTHON, that is used to design the backend-end of
ODOO applications. After giving us the introduction to these languages and framework he moved
onto something we may call medium-level: Object Oriented Programming. He briefly explained
about Object Orientation of python and then he explained about Inheritance property of python.
Then we were asked to do some little tasks on our notebooks related to OOP and Inheritance.
Inheritance in PYTHON can be explained as: in the PYTHON language, classes can be derived
from other classes, thereby inheriting fields and methods from those classes. Definitions: A class
that is derived from another class is called a subclass (also a derived class, extended class, or child
class).

Tuesday
Introduction to Exception Handling, Try-Catch-Finally.
On the second day of our internship, Mr. Ahmad introduced us to a term called “Exception
Handling”, relating to the controlling of errors in PYTHON. So, whenever an error occurs in the
code, we must have done something for that situation that will inform the user about happenings or
at-least move the user to another place after giving them the proper notification. This technique uses
three blocks of code; first block is a try block which runs in the beginning. If any error occurs in the
try block then it copies the error in an exception variable and moves on to catch block, in this block
we place the code to notify the user about what error occurred. Finally, there comes a finally block
which is executed at the end and it executes no matter what happens in the first two blocks of code.

UNIVERSITY OF AGRICULTURE Page 19


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

The PYTHON programming language uses exceptions to handle errors and other exceptional
events. An exception is an event that occurs during the execution of a program that disrupts the
normal flow of instructions.

Wednesday
Introduction to ODOO and Fundamentals of App development.
Our tutor of ODOO, Mr. Ahmad introduced us to the ODOO Framework on the third day of our
internship. He also told us about the fundamental building blocks of ODOO Application
Development. He introduced us about the advantages and features of ODOO Framework and he
also elaborated about the history and developments in this Framework. We were told that how much
of mobile ERPs has ODOO OS covered till the moment. ODOO is the most widely spread
Framework in the ERP. ODOO provides a rich application framework that allows you to build
innovative apps and module in a PYTHON language environment. ODOO apps are written in the
PYTHON programming language. The ODOO SDK tools compile your code—along with any data
and resource files—into an _MANIFEST_.PY: an ODOO package, which is an archive file with
an._manifest_.py suffix. One _MANIFEST_.PY file contains all the contents of an ODOO app and
is the file that ODOO-powered ERP use to install the app.

Thursday
History and Introduction to odoo.sh.
Mr. Ahmad introduced us to the tool that is most widely used for developing ODOO addons:
odoo.sh. After slight introduction, he told us about the history of this tool and then he moved onto
the GUI of Odoo.sh. Odoo.sh is the official Integrated Development Environment (IDE) for ODOO
app development, based on IntelliJ IDEA. On top of IntelliJ's powerful code editor and developer
tools, Odoo.sh offers even more features that enhance your productivity when building ODOO
apps. Odoo.sh provides the fastest tools for building apps on every type of ODOO ERP. World-class
code editing, debugging, performance tooling, a flexible build system, and an instant build/deploy
system all allow you to focus on building unique and high quality apps.

UNIVERSITY OF AGRICULTURE Page 20


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Friday
Installation ODOO Community version, Packages & Components, PYTHON SDK, etc.
Today, we started to install Odoo.sh and all the required tools & components under the supervision
of our ODOO trainer: Mr. Ahmad. First of all, we installed Odoo.sh, then we installed all of the
required packages and components inside Odoo.sh. Then we installed PYTHON Software
Development Kit and lastly we installed ODOO COMMUNITY VERSION. It was quite a long
process because of moderate internet speed here in Pakistan. We had to download a heavy amount
of stuff and the install it in our machines. The whole day was eaten by this giant task.

Second Week

Monday
Integration of ODOO with Pycharm and removal of errors and downloading / installation of
ODOO.
On the first day of week 2, we started from where we left on the last day of week 1 of our
internship. We had everything installed on our machines, now was the time to make all these things
work. So we had to integrate these things to each other. We did so under the command of Mr.
Ahmad and got some help from YouTube as well to remove some of the errors we faced.

Tuesday
Built first Odoo application (Hello World Application)
Today was a small session as compared to other days of our internship. We just created our first
Odoo application. The app was simple hello world application that showed a “Hello World”
message after a button was clicked.

Wednesday
Introduction to ODOO Application Structure, ODOOManifest.xml, uses-permission & uses-
sdk
On the eighth day of our internship we were introduced to the basic structure of applications built
for ODOO mobile ERPs. Every application must have an ODOOManifest.xml file (with precisely
that name) in its root directory. The manifest file presents essential information about your app to

UNIVERSITY OF AGRICULTURE Page 21


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

the ODOO system, information the system must have before it can run any of the app's code. Then
we were also told about uses-permission and uses-sdk tags inside the ODOOManifest.xml file.

Thursday
Introduction to Activities and Activity Lifecycle
Today Mr. Ahmad told us about an important component of ODOO application: Activity. An
Activity is an application component that provides a screen with which users can interact in order to
do something, such as dial the phone, take a photo, send an email, or view a map. The activity
LifeCycle begins with instantiation and ends with destruction, and includes many states in between.

Friday
Usage of ODOO ERP
Mr. Umar taught us how to use an ODOO ERP to run your app developed in Odoo.sh, from
launching ODOO ERP to successfully running your app on that ODOO ERP. He also told us about
some customization and settings. An ODOO ERP (AVD) is a ERP configuration that is run with the
ODOO ERP. It works with the ODOO ERP to provide a ERP-specific environment in which to
install and run ODOO apps.

Third Week

Monday
Introduction to XML, Developed Odoo application (Switching between activities using XML)
Before today, we were just working on a single ODOO screen and doing everything on that. But
today Mr. Ahmad told us how we can add another screen (or activity) in our ODOO application and
then how we can move from first screen to the second and vice versa. XML in ODOO are used as
message passing mechanism that works both within your application and between applications. For
example, XML can be used to start an activity (Ex: Gmail App) to send email. Three of the core
components of an application — activities, services, and broadcast receivers are activated through
messages, called XML template.

UNIVERSITY OF AGRICULTURE Page 22


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Tuesday
Basics of UI design, introduction to layouts
Today we moved on to front-end of ODOO applications and Mr. Ahmad introduced us to XML, the
language used for designing front-end of ODOO applications. The basic unit of ODOO application
is the activity. A UI is defined in an xml file. During compilation, each element in the XML is
compiled into equivalent ODOO GUI class with attributes represented by methods. A layout defines
the visual structure for a user interface, such as the UI for an activity or app widget.

Wednesday
Introduction to Linear Layout, Relative Layout, record, data
Today, Mr. Ahmad told us about most used layouts in front-end of ODOO applications. We used
these layouts in some practice applications as well. LinearLayout arranges its children in a single
direction either vertical or horizontal. RelativeLayout is a view group that displays child views in
relative positions. Relative layouts are one of the more common types of layouts in ODOO. To add
different child view in rows and columns, we have to use TableRow inside record. record is a
ViewGroup that displays different child views like name, model name, field, Button, etc in rows
and columns. data is a different kind of layout than LinearLayout, RelativeLayout, etc. which is
designed to view larger than its actual size. If the views inside data are more than the views that can
be hold/contained within data.

Thursday
Introduction to record, field, Smart Button
We were introduced to some elements today, which are most commonly used in designing &
developing ODOO applications. We did some practice work by using these in our demo apps.

Friday
Introduction to Image field, Quotation
On the last day of third week, Mr. Ahmad gave an overview about two elements which use images
to be displayed, one was a simple Image field and also defined Quotation for sale order or purchase
order.

UNIVERSITY OF AGRICULTURE Page 23


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Fourth Week

Monday
Usage of Wizard & Displaying a Wizard Message in ODOO App
Today was the first day of fourth week in our internship. Mr. Ahmad introduced us to a sort-of
flash-message called “Wizard”. We implemented the learnings and customized the wizard as per our
need & mood ;). An ODOO wizard displays small message to the users about an operation without
user input. Wizard is displayed in front of the activity and it remains visible for a short time.
Normally, ODOO wizard is displayed at the bottom of screen, you can also change display position.
You can make custom design for wizard using XML layout. Nowadays, most of the ODOO
application use wizard.

Tuesday
Read articles about some elements of ODOO Technical Consultant
Today was sort-of a theoretical day, with a little practical work. We read some articles from the
internet about following elements and we also referred to YouTube for better explanation of those
articles:
ERP
Data
TableLayout
template
xml
python fundamentals

Wednesday
Introduction to ODOOView and Usage of ODOOView in Odoo.sh
Today we learned how we can display a ODOOsite in an ODOO application using ODOOView. We
also learned about some default settings and required settings as well as permissions required by
ODOOView to connect to the internet. A ODOO ODOOView is a View that displays any ODOOsite

UNIVERSITY OF AGRICULTURE Page 24


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

to your ODOO application. ODOOView also allows you to use HTML string, CSS and
PYTHONScript design to your application. ODOOView embed ODOOsite into your ODOO
application. ODOOView uses the ODOOKit rendering engine to display ODOO pages and includes
methods to navigate forward and backward through a history, zoom in and out, perform text
searches and more.

Thursday
Gathered requirements (info) for app: (Construction Project)
Started Developing App: (Construction Project) in ODOO Framework
This is the day when we started to develop an application the proper way! First of all, today we
gathered some information and requirements for the application. And started building the
application from scratch.

Friday
Added SplashScreen in app: (Construction)
On the last day of fourth week, we learned how we can create a splash screen that appears on the
first launch of ODOO application and then disappears after some time interval. After learning about
splash screen, we added one in our app that we started yesterday. ODOO splash screen is normally
used to show/display app or brand logo before launching application activity. Nowadays some of
the popular ODOO applications like Facebook, Dropbox, Skype, etc use splash screen. Splash
screen can be used to display advertisement, process bar or loading, to provide information of
application for new users etc.

Fifth Week

Monday
Added job order in App: (Construction Project)
Started adding job order in ODOO app: (Construction Project)
Today, we learned about job order in ODOO application and adding custom view. We create job
order that include header item and line item field. Mr. Ahmad also told us about “job order” for
ODOO app element. We started working on that as well. Job order is one of the important user

UNIVERSITY OF AGRICULTURE Page 25


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

interface pattern in ODOO. Job order can easily be implemented/enabled in ODOO application by
adding the xml widget in your XML layout file. xml layout is used with the parent of a record, data,
odoo and with other xml layout and widgets. When users swipe down the screen or activity there
will appear a chatter at the end of the job order. The line item is changed in according to kind of job
order which is under header item.
Job order can easily open from menu item in odoo construction project app etc.

Tuesday
Adding Reporting menu item in Construction project
On the second day of week 5, we completed our work on “job order” on ODOOView inside our
application. The code for job order works fine today. Mr. Ahmad also told us that we can stop the
automatic refreshing of ODOO app. So after learning that, we implemented that as well, on our
application. We also add submenu item in reporting meu item to print some QWEB and excel
report.

Wednesday
Learned how to Generate Signed _MANIFEST_.PY in Odoo.sh
Today Mr. Ahmad told us about how we can generate a signed _MANIFEST_.PY for our ODOO
application from Odoo.sh. We also referred to some articles over the internet for help. Finally, we
generated _MANIFEST_.PY for our app and sent that _MANIFEST_.PY in our phones so that we
may install our application from that _MANIFEST_.PY file.

Thursday
Created new app: (Construction Project)
Mr. Ahmad told us about Excel report and he also told us how we can add an excel report in our
app. So we started building a new menu item for Construction Project and this time we started from
Configuration menu item which can add some setting related to construction rather than Blank
Activity like last time.

UNIVERSITY OF AGRICULTURE Page 26


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Friday
Added Stages like new, in progress, completed
Mr. Ahmad taught us that stages are very helpful UI element that informs the user that something is
being loaded in the application. He elaborated that how can we use a stages inside an ODOO
application. So we added stages setting that user can customize stages according to their need for
example I can add stages like new in progress, done and cancelled. We also add some functionality
that user can drag job order between these stages.

Sixth Week

Monday
Learned how to use Smart Button, status in our job order form
Today Mr. Ahmad introduced us to two new elements in the ODOO applications, smart and header
button. We learned about these two and implemented the learnings in our demo applications.
ODOO smart button can use to link another model related to that model and if we click on that
button then list view or form view of another order shows through that smart button. We also
learned about how to add status in our app and how we can change that status according to required
condition and if status of order is done the document is unenable to edit it further because its ctatus
is posted now.

Tuesday
Learned how to pass data between Activities using XML and Bundles
Previously on the first day of week 3, we learned and implemented XML. Back then, we had
learned about how to switch between activities using XML. Today, Mr. Ahmad told us about how
we can also pass some data while switching between activities using XML and Bundles. XML are
used to send data from first activity and Bundles are used to receive data on the second activity and
display that data as well. XML in ODOO are used as message passing mechanism that works both
within your application and between applications. For example, XML can be used to start an
activity (Ex: Gmail App) to send email. Three of the core components of an application —
activities, services, and broadcast receivers are activated through messages, called XML.

UNIVERSITY OF AGRICULTURE Page 27


DYNEXCEL INSTITUTE OF INFORMATION &TECHNOLOGY M TAYYAB BILAL

Friday
Learned how to print QWEB report for GMSA Industries
Previously on the first day of week 6, we learn about how we can add menu item in reporting menu
item of accounting app in ODOO. This report contains two sub menu item like sale tax register and
purchase tax register. If user click on sale tax register than wizard open in which user select from
date and to date to print report also select to print posted entries or all entries. We successfully
completed that report that those line item print in report in which tax column selected. These
QWEB pdf report print in landscape.

UNIVERSITY OF AGRICULTURE Page 28

You might also like