[Student-projects] Regarding GSoc 2014

Deepak kumar deepak.kumar.ece11 at itbhu.ac.in
Fri Mar 14 11:15:27 PDT 2014


*This is my proposal for project Grandham. Please suggest any required
changes.*


*Introduction*


 Grandham is a project of an organization SMC to maintain and record
bibliographic record. The current project allows authentic users to create
bibliographic record (books), edit and update it. There are different tabs
of books, authors, publishers and libraries. Feature to add book cover and
searching of items on the basis of language are also there. But if we want
to process the record, it is difficult for computers to read them in their
original form. The records need to be in converted into proper format in
order to make it machine readable that format should be internationally
acceptable. So we want to introduce MARC 21 feature in Grandham for all
types of bibliographic records. MARC 21 is a set of digital format for the
description of items such as books, bibliographic record etc. There are
several versions of MARC out of which MARC 21 is most predominant. Using
the format of MARC we will convert record to machine readable form.


*Project Goals*


 The main goal of the project is to introduce MARC 21 import/export feature
in Grandham. The features which will be introduced are:

1.       Import and parse bibliographic data from MARC 21 records. It
basically means reading and decoding MARC 21 record so that we can
understand it. (Reading and decoding operation)

2.       Improving book table. Currently book table contains limited field
columns and it need to be extended in order to accommodate extra fields.

3.       If we have a bibliographic record, we need convert it into MARC 21
format so that it can be processed by machines. (encoding Operation)

4.       We need to have export feature i.e. exporting data to existing
MARC 21 record in case if we want to append some data. (writing operation)

5.       Since there are large number of fields and sub fields in MARC 21
so we will have option feature for the user which fields of record must be
shown on view page. However we need to import all the field to our
database.

6.       A small profile for authors and publishers can be made.

7.       We need add comment option on each record in order to have review
of users.

8.       We need improve the Front end of the project in order to make more
user friendly.

*Future Development*


 The current project only deals with bibliographic record and it can be
extended to other formats like authority records, communication
information.


*Implementation*


 In order to implement MARC 21 import/export feature in Grandham I need to
understand it thoroughly. MARC 21 is a huge document having 800+ fields and
3000+ subfields and it follows a particular format for encoding /decoding
data.

1.       First we need to import MARC file which can be done through ruby's
'file_filed_tag' which supports all type of file. Once the file is selected
by browsing and submitted, we need to read it in controller. Moreover we
will have an option to select files from existing records too. Once we read
it as a string we can decode it using ruby-marc library function
MARC::Reader.decode(string).

2.       Once we have decoded data describing leader, tags, control fields,
and field value now we need to match the fields and tags with database
value and find what they exactly mean. If any of the field does not matches
with database it will go to default row of table and will be assign null
value. It will be a tough task to make a huge database of MARC 21 control
fields and sub fields and for this we will be using rails' STI method.
Using single table inheritance method we will be avoiding extra tables. We
can omit some of the fields which are rarely used.

3.       For adding columns in book table we just need to create another
table. This is necessary as we want to decode every field of MARC record.

4.       Converting existing bibliographic record into MARC 21 format
record is basically an encoding process and for this we will be using MARC8
encoding scheme. We need to first create a blank marc record file using
MARC::Record.new function. And after this we will append data to this file
and by using library function MARC::Writer.encode(record) we will get
encoded MARC record. The main task in this process is to append data to
record. Every record has title, language_id, price, isbn, pages, year and
many other fields. From these fields we need to generate leader, directory
of tags, fields, sub-field, and field value with the help of MARC 21
format. Once we have these array of data we can use 'record.append'
function to append it to record.

5.       For any changes in existing MARC record first it need to be
decoded and after the proper changes it can be again change back to marc
record. In another way if we need to add any particular filed and subfield
value it can be done through append function.

6.       Since there will be a lot of information in a MARC 21 record and
all of it may be not useful for a reader so we will restrict the flow of
data in view of record. However we need to extract every field of the
record as it may contain useful information.

7.       For making front end better we can use bootswatch.com themes.
Features like how many people liked the record, and how many viewed the
record can be made using gem socialization.

8.       A small profile for authors and publishers can be introduced which
will have fields like name, his books, his qualification etc.

9.       Another feature which can be introduced for the books is comment
for receiving users review. This can be simply implemented using gem
'act_as_commentable'.

*Timeline (19th may to 18th August)*

·         *19th may to 25th June*

Importing MARC file will and extracting leader, tag, fields and subfields.

·         *26th may to 1st June*

Creating database of marc tags, fields and subfields.

·         *2nd June to 22nd June*

Decoding the file with the help of database.

·         *23rd June to 24th June*

Once the import feature is created I will test it using different type of
marc records and its efficiency with large MARC files and modify book
table. So it will take another 2 days.

·         *25th June to 5th July*

Now for encoding process i.e. converting a bibliographic record into MARC I
have to create tags, fields, subfields and data value from the book table
fields.

·         *6th July to 17th July*

Appending these data to newly created record and encoding it.

·         *18th July to 25th July*

Creating view of the decoded MARC file and deciding the fields which need
to be shown.

·         *28th July to 4th Aug*

Creating profile for authors, publishers and adding comment feature.

·         *5th Aug to 11th Aug*

Implementing Bootswatch.com theme and adding CSS to project and showing
number of visitors to page.

·         *11th Aug to 18th Aug*

Enhancing the code, making test file, and modifying documentation.



*About me*


 I am Deepak Kumar, a junior year undergraduate student of Department of
Electronics Engineering at Indian Institute of Technology (B.H.U.)
Varanasi, one of the India's premier engineering Institute. I have good
hand on knowledge of ruby on rails, HTML, CSS, JavaScript, and SQLite. I
have worked on many web application and my best one is
www.schoolmitra.comduring my summer internship 2013. Features on which
I had worked under this
project are event management, send alerts, bulletin board, and student
database management.

I know two of my batch mates who have worked in GSOC'13 Bhardwaj Machiraju
and Rishabh Yadav.

Email: deepak.kumar.ece11 at iitbhu.ac.in

IRC: deepak_

Github: github.com/deepakrocks0009

Mob: +918423542271


On Fri, Mar 14, 2014 at 5:56 PM, Deepak kumar <
deepak.kumar.ece11 at itbhu.ac.in> wrote:

> Hello Sir,
> Will it be good to use ruby-marc gem or I should create my own libraries
> taking help from it?
>
>
>
>
> On Fri, Mar 14, 2014 at 11:27 AM, Ershad K <ershad92 at gmail.com> wrote:
>
>> Thank you, Deepak. Do send a proposal with timeline and we will see how
>> it goes. Cheers.
>>
>>
>> On Fri, Mar 14, 2014 at 12:17 AM, Deepak kumar <
>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>
>>> Hello Sir,
>>> Please give your review on my proposal.
>>>
>>> *Introduction*
>>>
>>> Grandham is a project of an organization SMC to maintain and record
>>> bibliographic record. The current project allows authentic users to create
>>> bibliographic record (books), edit and update it. There are different tabs
>>> of books, authors, publishers and libraries. Feature to add book cover and
>>> searching of items on the basis of language are also there. But if we want
>>> to process the record, it is difficult for computers to read them in their
>>> original form. The records need to be in converted into proper format in
>>> order to make it machine readable that format should be internationally
>>> acceptable. So we want to introduce MARC 21 feature in Grandham for all
>>> types of bibliographic records. MARC 21 is a set of digital format for the
>>> description of items such as books, bibliographic record etc. There are
>>> several versions of MARC out of which MARC 21 is most predominant. Using
>>> the format of MARC we will convert record to machine readable form.
>>>
>>>
>>> *Project Goals*
>>>
>>>
>>> The main goal of the project is to introduce MARC 21 import/export
>>> feature in Grandham. The features which will be introduced are:
>>>
>>> 1.       Import and parse bibliographic data from MARC 21 records. It
>>> basically means reading and decoding MARC 21 record so that we can
>>> understand it. (Reading and decoding operation)
>>>
>>> 2.       If we have a bibliographic record, we need convert it into
>>> MARC 21 format so that it can be processed by machines. (encoding Operation)
>>>
>>> 3.       We need to have export feature i.e. exporting data to existing
>>> MARC 21 record in case if we want to append some data. (writing operation)
>>>
>>> 4.       Since there are large number of fields and sub fields in MARC
>>> 21 so we will have option feature for the user which fields of record must
>>> be shown on view page. However we need to import all the field to our
>>> database.
>>>
>>> 5.       We need improve the Front end of the project in order to make
>>> more user friendly.
>>>
>>> 6.       A small profile for authors and publishers can be made.
>>>
>>> 7.       We need add comment option on each record in order to have
>>> review of users.
>>>
>>> *Future Development*
>>>
>>>
>>>  The current project only deals with bibliographic record and it can be
>>> extended to other formats like authority records, communication
>>> information.
>>>
>>>
>>> *Implementation*
>>>
>>>
>>>  In order to implement MARC 21 import/export feature in Grandham I need
>>> to understand it thoroughly. MARC 21 is a huge document having 800+ fields
>>> and 3000+ subfields and it follows a particular format for encoding
>>> /decoding data.
>>>
>>> 1.       First we need to import MARC file which can be done through
>>> ruby's 'file_filed_tag' which supports all type of file. Once the file is
>>> selected by browsing and submitted, we need to read it in controller.
>>> Moreover we will have an option to select files from existing records too.
>>> Once we read it as a string we can decode it using ruby-marc library
>>> function MARC::Reader.decode(string). Presently
>>>
>>> 2.       Once we have decoded data describing leader, tags, control
>>> fields, and field value now we need to match the fields and tags with
>>> database value and find what they exactly mean. If any of the field does
>>> not matches with database it will go to default row of table and will be
>>> assign null value. It will be a tough task to make a huge database of MARC
>>> 21 control fields and sub fields and for this we will be using rails' STI
>>> method. Using single table inheritance method we will be avoiding extra
>>> tables. We can omit some of the fields which are rarely used.
>>>
>>> 3.       Converting existing bibliographic record into MARC 21 format
>>> record is basically an encoding process and for this we will be using MARC8
>>> encoding scheme. We need to first create a blank marc record file using
>>> MARC::Record.new function. And after this we will append data to this file
>>> and by using library function MARC::Writer.encode(record) we will get
>>> encoded MARC record. The main task in this process is to append data to
>>> record. Every record has title, language_id, price, isbn, pages, year and
>>> many other fields. From these fields we need to generate leader, directory
>>> of tags, fields, sub-field, and field value with the help of MARC 21
>>> format. Once we have these array of data we can use 'record.append'
>>> function to append it to record.
>>>
>>> 4.       For any changes in existing MARC record first it need to be
>>> decoded and after the proper changes it can be again change back to marc
>>> record. In another way if we need to add any particular filed and subfield
>>> value it can be done through append function.
>>>
>>> 5.       Since there will be a lot of information in a MARC 21 record
>>> and all of it may be not useful for a reader so we will restrict the flow
>>> of data in view of record. However we need to extract every field of the
>>> record as it may contain useful information.
>>>
>>> 6.       For making front end better we can use bootswatch.com themes.
>>> Features like how many people liked the record, and how many viewed the
>>> record can be made using gem socialization.
>>>
>>> 7.       A small profile for authors and publishers can be introduced
>>> which will have fields like name, his books, his qualification etc.
>>>
>>> 8.       Another feature which can be introduced for the books is
>>> comment for receiving users review. This can be simply implemented using
>>> gem 'act_as_commentable'.
>>>
>>> *About me*
>>>
>>>
>>>  I am Deepak Kumar, a junior year undergraduate student of Department
>>> of Electronics Engineering at Indian Institute of Technology (B.H.U.)
>>> Varanasi, one of the India's premier engineering Institute. I have good
>>> hand on knowledge of ruby on rails, HTML, CSS, JavaScript, and SQLite. I
>>> have worked on many web application and my best one is
>>> www.schoolmitra.com during my summer internship 2013. Features on which
>>> I had worked under this project are event management, send alerts, bulletin
>>> board, and student database management.
>>>
>>> I know two of my batch mates who have worked in GSOC'13 Bhardwaj
>>> Machiraju and Rishabh Yadav and I am inspired from them.
>>>
>>> Email: deepak.kumar.ece11 at iitbhu.ac.in
>>>
>>> IRC: deepak_
>>>
>>> Github: github.com/deepakrocks0009
>>>
>>> Mob: +918423542271
>>>
>>>
>>> On Thu, Mar 13, 2014 at 10:41 PM, Ershad K <ershad92 at gmail.com> wrote:
>>>
>>>> Yes, we follow MARC-8 encoding. Do send a proposal with all your
>>>> findings and detailed outline of implementation in the present Grandham
>>>> architecture. Good luck.
>>>>
>>>>
>>>> On Thu, Mar 13, 2014 at 10:36 PM, Deepak kumar <
>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>
>>>>> Now I am able to decode the MARC file using ruby-marc
>>>>> function MARC::Reader.decode( @file_content ).
>>>>>
>>>>> Moreover, this function helps if we want any particular filed value.
>>>>>
>>>>> reader = MARC::Reader.new('marc.xml', :external_encoding => "UTF-8")
>>>>>     for record in reader
>>>>>       # print out field 245 subfield a
>>>>>       #@val = record['110']['b']
>>>>>     end
>>>>> However, if I set external encoding to be "MARC-8", it creates error cannot
>>>>> load such file -- unf_ext.so .
>>>>>  I think we have to use MARC-8 encoding. Is it?
>>>>>
>>>>>
>>>>> On Thu, Mar 13, 2014 at 5:31 PM, Deepak kumar <
>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>
>>>>>> Hello sir
>>>>>> I am trying to use ruby gem ruby-marc but I am geeting error cannot
>>>>>> load such file -- unf_ext.so  while reading a MARC record. However,
>>>>>> I am able to create and append in existing marc file.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Mar 12, 2014 at 9:54 PM, Ershad K <ershad92 at gmail.com> wrote:
>>>>>>
>>>>>>> Yes, we can use ruby-marc. See if you can come up with a program to
>>>>>>> parse a valid MARC21 file using it.
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Mar 11, 2014 at 11:46 PM, Deepak kumar <
>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>
>>>>>>>> Hello Sir,
>>>>>>>>
>>>>>>>> Can we use python library pymarc? https://github.com/edsu/pymarc or
>>>>>>>>  ruby-marc by doing some changes in it?
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Mar 11, 2014 at 3:25 PM, Ershad K <ershad92 at gmail.com>wrote:
>>>>>>>>
>>>>>>>>> Hi Deepak,
>>>>>>>>>
>>>>>>>>> On Tue, Mar 11, 2014 at 3:08 PM, Deepak kumar <
>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>
>>>>>>>>>> Only the data corresponding to field is of variable length.
>>>>>>>>>> Control fields are of fixed length. Isn't it?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Not exactly, I'm not sure how you would parse fields, tags,
>>>>>>>>> indicators and values this way. Have you gone through the MARC21 tutorial I
>>>>>>>>> mentioned?
>>>>>>>>>
>>>>>>>>> Please see if you can find some library to parse MARC21 and come
>>>>>>>>> up with an example which parses a valid MARC21 record.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Mar 11, 2014 at 2:34 PM, Ershad K <ershad92 at gmail.com>wrote:
>>>>>>>>>>
>>>>>>>>>>> It's not fixed length. We need import/export functionality for
>>>>>>>>>>> all valid MARC21 data. How will you parse the different fields?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Mar 11, 2014 at 2:27 PM, Deepak kumar <
>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> But every MARC21 record is of the form leader followed by
>>>>>>>>>>>> directory of fields and data corresponding to fields.
>>>>>>>>>>>>  And they are of fixed length. So why we can not use this
>>>>>>>>>>>> method?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Mar 11, 2014 at 2:09 PM, Ershad K <ershad92 at gmail.com>wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Deepak,
>>>>>>>>>>>>>
>>>>>>>>>>>>> It doesn't work like that. We cannot parse MARC21 data with
>>>>>>>>>>>>> fixed length strings. Here's the MARC21 tutorial -
>>>>>>>>>>>>> http://www.loc.gov/marc/umb/um01to06.html
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 2:04 PM, Deepak kumar <
>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> In view
>>>>>>>>>>>>>> <label for="file">Upload text File</label> <%= file_field_tag
>>>>>>>>>>>>>> "file" %>
>>>>>>>>>>>>>> In controller
>>>>>>>>>>>>>> uploaded_file = params[:file]
>>>>>>>>>>>>>> @file_content = uploaded_file.read
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In this way @file_content becomes an array of whole record.
>>>>>>>>>>>>>> and by indexing I extracted fields like for leader
>>>>>>>>>>>>>> @leader=@file_content[0..23] since the leader is 24 char.
>>>>>>>>>>>>>> long.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:59 PM, Ershad K <ershad92 at gmail.com
>>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Deepak,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Can you explain how you parsed the MARC21 file? Also always
>>>>>>>>>>>>>>> use proper classes/controllers, it's good to move such logic out of
>>>>>>>>>>>>>>> UsersController#new.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:34 PM, Deepak kumar <
>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> the link of code https://github.com/deepakrocks0009/trial
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:34 PM, Deepak kumar <
>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hello Sir
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I have taken example from
>>>>>>>>>>>>>>>>> http://www.loc.gov/marc/umb/um11to12.html
>>>>>>>>>>>>>>>>> I tried to read MARC record from a text file and output
>>>>>>>>>>>>>>>>> tag, length, start_at and data.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:57 AM, Ershad K <
>>>>>>>>>>>>>>>>> ershad92 at gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:53 AM, Deepak kumar <
>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> https://github.com/deepakrocks0009/blog  But sir please
>>>>>>>>>>>>>>>>>>> don't judge me on the basis of this code as I was just beginner at that
>>>>>>>>>>>>>>>>>>> time.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> No worries about that, everybody is beginner at sometime.
>>>>>>>>>>>>>>>>>> I just wanted to see some code in action.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> So do I need to create database for this or just reading
>>>>>>>>>>>>>>>>>>> the record from a file?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> It's your choice, but for now just parsing a valid MARC21
>>>>>>>>>>>>>>>>>> record (which you need to find out) is completely fine.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:48 AM, Ershad K <
>>>>>>>>>>>>>>>>>>> ershad92 at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi Deepak,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Please see if you find and parse a MARC21 record. You
>>>>>>>>>>>>>>>>>>>> are free to use any gem.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Is deepakkeshri.herokuapp.com open source? Can I see
>>>>>>>>>>>>>>>>>>>> its source please?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:42 AM, Deepak kumar <
>>>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> This was my blog app
>>>>>>>>>>>>>>>>>>>>> http://deepakkeshri.herokuapp.com/ which I made when
>>>>>>>>>>>>>>>>>>>>> I was just a beginner. After that I learnt a lot of things.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 1:34 AM, Deepak kumar <
>>>>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hello Bhaiya,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> You are right. Using STI we will reduce the number of
>>>>>>>>>>>>>>>>>>>>>> tables.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> My github link is github.com/deepakrocks0009. But I
>>>>>>>>>>>>>>>>>>>>>> dont have any big project in my account. The project on which I worked
>>>>>>>>>>>>>>>>>>>>>> during 2013 summer was schoolmitra.com and since it
>>>>>>>>>>>>>>>>>>>>>> was private company they closed my bitbucket account after internship.
>>>>>>>>>>>>>>>>>>>>>> Till now I haven't tried to parse MARC records. But
>>>>>>>>>>>>>>>>>>>>>> you can give me task before I submit my proposal.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Ya please put this thread to mailing list.
>>>>>>>>>>>>>>>>>>>>>> How many applications do you received for this
>>>>>>>>>>>>>>>>>>>>>> project?
>>>>>>>>>>>>>>>>>>>>>> Kind Regards
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Tue, Mar 11, 2014 at 12:55 AM, Ershad K <
>>>>>>>>>>>>>>>>>>>>>> ershad92 at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Hi Deepak,
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Yeah, but we could make it better using rails's STI.
>>>>>>>>>>>>>>>>>>>>>>> Also have you tried to parse the MARC records? Can you please link to the
>>>>>>>>>>>>>>>>>>>>>>> projects you worked on? Preferably in rails?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Can I CC this thread to
>>>>>>>>>>>>>>>>>>>>>>> student-projects at lists.smc.org.in ?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> PS: Don't call me sir, call me Ershad :-)
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> On Mon, Mar 10, 2014 at 10:54 PM, Deepak kumar <
>>>>>>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Hello Sir,
>>>>>>>>>>>>>>>>>>>>>>>> We can have two tables to store MARC 21 data. First
>>>>>>>>>>>>>>>>>>>>>>>> table will contain columns which are field_id, field tag, its value. 2nd
>>>>>>>>>>>>>>>>>>>>>>>> table will contain sub field tag and its value differentiated on the basis
>>>>>>>>>>>>>>>>>>>>>>>> of field_id.
>>>>>>>>>>>>>>>>>>>>>>>> We need to have an extra default row in the table.
>>>>>>>>>>>>>>>>>>>>>>>> If the field doesn't matches existing fields of db then the default row
>>>>>>>>>>>>>>>>>>>>>>>> will be used.
>>>>>>>>>>>>>>>>>>>>>>>> Is this correct?
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Mar 10, 2014 at 10:17 PM, Ershad K <
>>>>>>>>>>>>>>>>>>>>>>>> ershad92 at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Hi Deepak,
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> Do you have any idea about how to store these data
>>>>>>>>>>>>>>>>>>>>>>>>> in database? What happens when we encounter new data fields while importing
>>>>>>>>>>>>>>>>>>>>>>>>> the data? Thoughts?
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Mar 10, 2014 at 6:30 PM, Deepak kumar <
>>>>>>>>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> You are right sir, the database for the fields is
>>>>>>>>>>>>>>>>>>>>>>>>>> really huge. It has 887 control fields and there sub fields, so total of
>>>>>>>>>>>>>>>>>>>>>>>>>> 6000+ field types.
>>>>>>>>>>>>>>>>>>>>>>>>>> It is very difficult to have a look up table for
>>>>>>>>>>>>>>>>>>>>>>>>>> each field. We have to use very good data structure. but there are large
>>>>>>>>>>>>>>>>>>>>>>>>>> number of tools for decoding. We can take help of them.
>>>>>>>>>>>>>>>>>>>>>>>>>> http://www.loc.gov/marc/marctools.html
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>> On Sun, Mar 9, 2014 at 3:20 PM, Deepak kumar <
>>>>>>>>>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Thank you sir for your reply.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I am quite good with ruby on rails and its mvc
>>>>>>>>>>>>>>>>>>>>>>>>>>> architecture. The project on which I had worked was
>>>>>>>>>>>>>>>>>>>>>>>>>>> www.schoolmitra.com. It was basically web
>>>>>>>>>>>>>>>>>>>>>>>>>>> application using ruby and its framework RoR.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> I have gone through your blog and your weekly
>>>>>>>>>>>>>>>>>>>>>>>>>>> update during GSOC'13 and it is quite impressive.
>>>>>>>>>>>>>>>>>>>>>>>>>>> Some Similar works I also did during my summer
>>>>>>>>>>>>>>>>>>>>>>>>>>> internship. Implementing authentication, post comment and like feature,
>>>>>>>>>>>>>>>>>>>>>>>>>>> student database management, monthly report generation in PDFs form,
>>>>>>>>>>>>>>>>>>>>>>>>>>> defining role through rolify and ability through cancan, bootstrap for css,
>>>>>>>>>>>>>>>>>>>>>>>>>>> SQlite formanaging database, sms alert functionality, javaScript and little
>>>>>>>>>>>>>>>>>>>>>>>>>>> jquery for dynamic pages. But I don't know haml. I used to make my view
>>>>>>>>>>>>>>>>>>>>>>>>>>> page in ruby only. I will learn it.
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Kind Regards
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Sat, Mar 8, 2014 at 1:31 PM, Ershad K <
>>>>>>>>>>>>>>>>>>>>>>>>>>> ershad92 at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Deepak,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sorry, I was busy, wasn't able to send you a
>>>>>>>>>>>>>>>>>>>>>>>>>>>> reply.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Mar 6, 2014 at 1:34 PM, Deepak kumar <
>>>>>>>>>>>>>>>>>>>>>>>>>>>> deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Sir,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> As suggested, I have gone through the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> documentation of MARC21. What I have understood is, MARC21 is a basically
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> formatting of certain records/data either bibliographic, authority,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> holdings, or community information. In other words we can say it as
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> encoding and decoding process of records in a fixed format. Today MARC21 is
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> most predominant and widely used. So in order to import data from a MARC21
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> record we have to read the record character by character and perform
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> decoding operation. The project says we have to import and export data in
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MARC21 records. The only tough thing about this project is to know the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> MARC21 format.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> So my steps will be
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Reading the MARC21 record file as a string
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> or reading fixed number of character from record each time instead of
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> reading whole record as single string.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. Assigning these fixed length strings to
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixed variables.(Tag,length,start position,end position)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. With the help of these tags reading the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> rest of file.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 4. Lastly formatting these pieces of data in
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> fixed format for end users with the help of inbuilt database.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> There's some problem here. First, we cannot
>>>>>>>>>>>>>>>>>>>>>>>>>>>> really read MARC21 records by reading with a fixed number of characters.
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Last time I checked, it has around 3000+ different fields with different
>>>>>>>>>>>>>>>>>>>>>>>>>>>> type of data. Each file has many subfield marked with leader tags or
>>>>>>>>>>>>>>>>>>>>>>>>>>>> something. We cannot proceed with this project until we have a clear
>>>>>>>>>>>>>>>>>>>>>>>>>>>> understanding of how MARC21 works.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> In addition to that, the scope of this project
>>>>>>>>>>>>>>>>>>>>>>>>>>>> is not merely parsing the MARC21 data. We have to make necessary changes in
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Grandham application to add import/export feature. That includes changes in
>>>>>>>>>>>>>>>>>>>>>>>>>>>> the current DB schema. How good are you with Ruby on Rails?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> This will be basic idea of my work. Please
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> correct me wherever I am wrong also if I am missing any point.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please tell when you are available on IRC . I
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> have posted this mail to mailing list but didn't got any reply.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Kind Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Deepak Kumar
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Electronics Engineering
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> B.Tech III Year
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IIT (BHU),Varanasi,India
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  Mob: +918423542271
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://about.me/deepak.keshri/<http://about.me/deepak.keshri/#>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Deepak Kumar
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Electronics Engineering
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> B.Tech III Year
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IIT (BHU),Varanasi, India
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mob: +918423542271
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://about.me/deepak.keshri/<http://about.me/deepak.keshri/#>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Sat, Mar 1, 2014 at 9:32 PM, Ershad K <
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ershad92 at gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Deepak,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> The project is about implementing MARC21[1]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> data support in Grandham.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Grandham is written in Ruby on rails, the
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> project involves developing MARC21 extensions the platform and integrate it
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> to the current API.  Please drop a mail to
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> discuss at lists.smc.org.in with your
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> preliminary analysis.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> [1] http://www.loc.gov/marc/bibliographic/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Sat, Mar 1, 2014 at 3:43 PM, Deepak kumar
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <deepak.kumar.ece11 at itbhu.ac.in> wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello Sir,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> I went through your project on grandham and
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> i would like to contribute to it as my gsoc'14 project.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Please guide me regarding this.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Deepak Kumar
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Electronics Engineering
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> B.Tech III Year
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IIT (BHU),Varanasi
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Mob: 08423542271
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://about.me/deepak.keshri/<http://about.me/deepak.keshri/#>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Ershad K
>>>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Regards,
>>>>>>>>>>> Ershad K
>>>>>>>>>>> http://ershadk.com
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Regards,
>>>>>>>>> Ershad K
>>>>>>>>> http://ershadk.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Regards,
>>>>>>> Ershad K
>>>>>>> http://ershadk.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Ershad K
>>>> http://ershadk.com
>>>>
>>>
>>>
>>
>>
>> --
>> Regards,
>> Ershad K
>> http://ershadk.com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.smc.org.in/pipermail/student-projects-smc.org.in/attachments/20140314/a100963c/attachment.html>


More information about the Student-projects mailing list