Extending Basic Spotlight Technology by Using Apis

Total Page:16

File Type:pdf, Size:1020Kb

Extending Basic Spotlight Technology by Using Apis Faculty of Computer Science, Free University of Bozen-Bolzano, Piazza Domenicani 3, 39100 Bolzano, Italy Tel:+39 04710 16000, Fax:+39 04710 16009, http://www.inf.unibz.it/krdb/ EMCL Project Report Extending basic Spotlight Technology by using APIs Muhammad Faheem Abstract Spotlight is advanced search technology based on metadata information and is integrated with the file system, which enable user to search files in the file system efficiently and quickly. Spotlight is more than just searching for document, it provides the APIs which help developers to make use of these metadata information according to their own domain. The aim of this project is to explore the Spotlight APIs and enhance them, so that we could run intelligent queries over it. 1 CONTENTS Contents 1 Introduction 3 2 Motivation 3 3 Preliminaries 4 4 Spotlight APIs 4 4.1 Metadata . .5 4.2 Spotlight Store . .6 4.3 Different ways to examine the file’s metadata . .6 4.3.1 High Level Language Program . .7 4.3.2 Command Line . .8 4.4 Spotlight Queries . .9 4.4.1 Finder Tool . .9 4.4.2 Programming Languages . .9 4.4.3 mdfind Tool . 10 4.5 Xcode 3.2 . 10 4.5.1 Creating New Project . 10 4.5.2 Xcode WorkSpace . 11 4.5.3 Interface building . 12 4.5.4 Objective C . 12 4.5.5 A simple Graphical User Interface application based on Predicate . 13 5 Enriching basic Spotlight Technology 16 5.1 Spotlight Schema . 18 5.2 Beyond Spotlight APIs . 23 5.3 A Graphical User Application based on Key metadata attribute . 25 5.4 Use Cases and Evaluation . 26 6 Conclusion and Future Work 28 Reference29 2 CONTENTS 1 Introduction Nowadays, new technologies coming from different field of research may converge for imple- menting new and more sophisticated office automation systems. One of these technology allows modern operating system to store in the file system meta information regarding content of various type of documents such as media files, instant messages, office documents, etc. The Internet, web and electronic mail have revolutionized the way we communicate and collaborate. We are much more connected and in turn our demands increase. Now Metadata information regarding the files, contacts and messages is available. Now challenge is to make usage of this information in the right way. Spotlight provides us all the facilities we need regarding searching a file in the file system. Spotlight is tightly integrated with the operating system, which gives it edge over the other technologies, e-g Google Desktop Tool. To use the metadata information in other applications, we need to extend the capabilities of Spotlight. We can query the system using gray box on the top-right side of the Mac window screen, using finder tool or using command prompt. But for running some intelligent queries we need to use Spotlight APIs. By using Spotlight APIs we can run query based on key attributes, e-g kMDItemKind. 2 Motivation Spotlight allows text searching of user emails, computer files, photos, music, chat, web history etc. We can use the Spotlight APIs to make better use of meta information. The main moti- vation to explore spotlight APIs is to assist the on going research on Semantic Desktop Tool in KRDB1 center. We are trying to assist at data level of Sematic Desktop Application. Here we discuss more organized approach than already in use. To make a usage of meta information for the field of sematic web we need to organize data in a better structure, as we know already that Spotlight organize the meta-data information in a poor way, because the main purpose of the spotlight is to search for files quickly over the system. So here we extend the Spotlight APIs to fill this gap and make data well structured. Semantic Desktop Tool uses a methodology to extract conceptual schema from raw data and raw schema. So we believe that spotlight APIs can help in a way to extract conceptual schema and also populating ABOX based on conceptual schema. The past work done over Semantic Desktop motivates us to develop that strategy. In other way we are trying to provide a search engine (wrapper developed using Spotlight) for Semantic Desktop Tool. For example Semantic Desktop needs to run query like: • Give me names of all persons who work on Project AAA. • Task associated with the project. • Person X role in a company. • Who replied to an email with subject A, sent by Manger on 20-09-2010. • pdf files written by Faheem and is a part of project. To run these kind of queries against file system we need fast and efficient Tool at data level. We believe that we cannot run these queries straight on Spotlight, but rather we need to use the APIs provided by spotlight and extend them so that we can run such a complex queries. Though these queries looks simple but still require join between different type of files. Here one point needs to be cleared: why we prefer Spotlight over Google Desktop2? There are several reason but we will only pinpoint these according to Semantic Desktop Tool require- ment. We prefer Spotlight because Spotlight has better integration with the OS, so it will use less resources and be able to do better indexing, and faster searches. Due to integration with 1KRDB research center for Knowledge and Data, Free University Bolzano 2Google Desktop makes searching your computer as easy as searching the web with Google. see [1] 3 CONTENTS OS, Spotlight updates itself every time the hard drive is written. Our experience says that some times even we delete some file on the file system, but still it is shown in a search result by Google Desktop. When we try to open that file we get message "File not found". But on the other hand spotlight does fast indexing and update database in few seconds because of its integration with the OS. 3 Preliminaries We don't require any special skills but still we assume that a reader of this paper has some basic programming skills and good understanding of Mac environment. We will develop our small application using Xcode IDE [3] [6]. We will write our code in objective C [9]. Although this paper is well organized but still readers are recommended to read these tutorial [3] [6] [9] before they start reading this paper. We will start with a brief introduction about spotlight but the main purpose of this paper is to extend basic spotlight technology by using spotlight APIs. 4 Spotlight APIs Spotlight [2] is fast desktop search technology and fundamental feature of Mac OS X that allows the user to organize and search files based on metadata information. For years peoples have been talking about making the file system fast and easy to search by using the metadata information. But it's been just talk, no technical development regarding it. Other Operating systems have long promised it but does not come up with application. But suddenly third party add-ons are starting to appear and provide the capability of searching across the file system based on metadata information but still with lots of limitations. However Tiger is the first industrial-strength operating system which provides the fully integrated, fast and efficient search across all the files on the system. Organizing the files on system in such a way that it could be easily accessible is a difficult task, and mostly end users are responsible for it. However, even the most organized user will not find it easy to arrange their files in a way that makes it easy to find metadata information. As file system provides only one way of organizing information, user must use some special tool to search for what they want. But still it does not help as most of tools can be slow and limited in how they perform search and also not efficient against complex queries. for instance, user may want to search more than a file e-g searching an email sent by john on date 13-08-2010. Spotlight is an advanced search Technology based on metadata information and integrated with the file system. It keeps tracking the file system and performs certain action to keep its spotlight store updated so that each files easily accessible. Every time a file is created, moved, saved, copied, or deleted, the file system will automatically ensures that the file is properly cataloged,inexed and ready for whatever search query might be issued. Spotlight is more than just searching for documents. Spotlight importers define metadata information that Finder tool can display in its Get Info panel. This information provides more sufficient and details about documents. Examples of Metadata information: • Video files provide their dimensions, pixel depth and other color related information. • Movies provide their duration. • PDF files provide information about the authors, creation date, dimensions, encoding, and where they originated. • Contact provides information about the first name, last name, email id, phone number and instant messaging address. 4 CONTENTS Spotlight is not only available for end users but also for developers to help them to enrich their application with the spotlight capabilities. Tiger does not apply any restrictions or limits over the use of spotlight APIs. There are several technologies that power spotlight and provide dominance over other existing technologies. Spotlight Technologies: • A database consisting of a high-performance meta-data store and content index that is fully integrated with the file system. • Programmatic APIs that are part of the CoreServices and Cocoa frameworks that helps user to query the meta-data store and content index.
Recommended publications
  • PDF-Xchange Viewer
    PDF-XChange Viewer © 2001-2011 Tracker Software Products Ltd North/South America, Australia, Asia: Tracker Software Products (Canada) Ltd., PO Box 79 Chemainus, BC V0R 1K0, Canada Sales & Admin Tel: Canada (+00) 1-250-324-1621 Fax: Canada (+00) 1-250-324-1623 European Office: 7 Beech Gardens Crawley Down., RH10 4JB Sussex, United Kingdom Sales Tel: +44 (0) 20 8555 1122 Fax: +001 250-324-1623 http://www.tracker-software.com [email protected] Support: [email protected] Support Forums: http://www.tracker-software.com/forum/ ©2001-2011 TRACKER SOFTWARE PRODUCTS II PDF-XChange Viewer v2.5x Table of Contents INTRODUCTION...................................................................................................... 7 IMPORTANT! FREE vs. PRO version ............................................................................................... 8 What Version Am I Running? ............................................................................................................................. 9 Safety Feature .................................................................................................................................................. 10 Notice! ......................................................................................................................................... 10 Files List ....................................................................................................................................... 10 Latest (available) Release Notes .................................................................................................
    [Show full text]
  • Lookeen Desktop Search
    Lookeen Desktop Search Find your files faster! User Benefits Save time by simultaneously searching for documents on your hard drive, in file servers and the network. Lookeen can also search Outlook archives, the Exchange Search with fast and reliable Server and Public Folders. Advanced filters and wildcard options make search more Lookeen technology powerful. With Lookeen you’ll turn ‘search’ into ‘find’. You’ll be able to manage and organize large amounts of data efficiently. Employees will save valuable time usually Find your information in record spent searching to work on more important tasks. time thanks to real-time indexing Lookeen desktop search can also Search your desktop, Outlook be integrated into Outlook The search tool for Windows files and Exchange folders 10, 8, 7 and Vista simultaneously Ctrl+Ctrl is back: instantly launch Edit and save changes to Lookeen from documents in Lookeen preview anywhere on your desktop Save and re-use favorite queries and access them with short keys View all correspondence with individuals or groups at the push of a button Create one-click summaries of email correspondences Start saving time and money immediately For Companies Features Business Edition Desktop search software compatible with Powerful search in virtual environments like Compatible with standard and virtual Windows 10, 8, 7 and Vista Citrix and VMware desktops like Citrix, VMware and Terminal Servers. Simplified roll out through exten- Optional add-in to Microsoft Outlook 2016, Simple, user friendly interface gives users a sive group directives and ADM files. 2013, 2010, 2007 or 2003 and Office 365 unified view over multiple data sources Automatic indexing of all files on the hard Clear presentation of search results drive, network, file servers, Outlook PST/OST- Enterprise Edition Full fidelity preview option archives, Public Folders and the Exchange Scans additional external indexes.
    [Show full text]
  • Towards the Ontology Web Search Engine
    TOWARDS THE ONTOLOGY WEB SEARCH ENGINE Olegs Verhodubs [email protected] Abstract. The project of the Ontology Web Search Engine is presented in this paper. The main purpose of this paper is to develop such a project that can be easily implemented. Ontology Web Search Engine is software to look for and index ontologies in the Web. OWL (Web Ontology Languages) ontologies are meant, and they are necessary for the functioning of the SWES (Semantic Web Expert System). SWES is an expert system that will use found ontologies from the Web, generating rules from them, and will supplement its knowledge base with these generated rules. It is expected that the SWES will serve as a universal expert system for the average user. Keywords: Ontology Web Search Engine, Search Engine, Crawler, Indexer, Semantic Web I. INTRODUCTION The technological development of the Web during the last few decades has provided us with more information than we can comprehend or manage effectively [1]. Typical uses of the Web involve seeking and making use of information, searching for and getting in touch with other people, reviewing catalogs of online stores and ordering products by filling out forms, and viewing adult material. Keyword-based search engines such as YAHOO, GOOGLE and others are the main tools for using the Web, and they provide with links to relevant pages in the Web. Despite improvements in search engine technology, the difficulties remain essentially the same [2]. Firstly, relevant pages, retrieved by search engines, are useless, if they are distributed among a large number of mildly relevant or irrelevant pages.
    [Show full text]
  • An Activity Based Data Model for Desktop Querying (Extended Abstract)?
    An activity based data model for desktop querying (Extended Abstract)? Sibel Adalı1 and Maria Luisa Sapino2 1 Rensselaer Polytechnic Institute, 110 8th Street, Troy, NY 12180, USA, [email protected], 2 Universit`adi Torino, Corso Svizzera, 185, I-10149 Torino, Italy [email protected] 1 Introduction With the introduction of a variety of desktop search systems by popular search engines as well as the Mac OS operating system, it is now possible to conduct keyword search across many types of documents. However, this type of search only helps the users locate a very specific piece of information that they are looking for. Furthermore, it is possible to locate this information only if the document contains some keywords and the user remembers the appropriate key- words. There are many cases where this may not be true especially for searches involving multimedia documents. However, a personal computer contains a rich set of associations that link files together. We argue that these associations can be used easily to answer more complex queries. For example, most files will have temporal and spatial information. Hence, files created at the same time or place may have relationships to each other. Similarly, files in the same directory or people addressed in the same email may be related to each other in some way. Furthermore, we can define a structure called “activities” that makes use of these associations to help user accomplish more complicated information needs. Intu- itively, we argue that a person uses a personal computer to store information relevant to various activities she or he is involved in.
    [Show full text]
  • Using Context to Enhance File Search
    Connections: Using Context to Enhance File Search Craig A. N. Soules, Gregory R. Ganger Carnegie Mellon University ABSTRACT Attribute-based naming allows users to classify each file Connections is a file system search tool that combines tradi- with multiple attributes [9, 12, 37]. Once in place, these at- tional content-based search with context information gath- tributes provide additional paths to each file, helping users ered from user activity. By tracing file system calls, Con- locate their files. However, it is unrealistic and inappropri- nections can identify temporal relationships between files ate to require users to proactively provide accurate and use- and use them to expand and reorder traditional content ful classifications. To make these systems viable, they must search results. Doing so improves both recall (reducing false- automatically classify the user's files, and, in fact, this re- positives) and precision (reducing false-negatives). For ex- quirement has led most systems to employ search tools over ample, Connections improves the average recall (from 13% hierarchical file systems rather than change their underlying to 22%) and precision (from 23% to 29%) on the first ten methods of organization. results. When averaged across all recall levels, Connections The most prevalent automated classification method to- improves precision from 17% to 28%. Connections provides day is content analysis: examining the contents and path- these benefits with only modest increases in average query names of files to determine attributes that describe them. time (2 seconds), indexing time (23 seconds daily), and in- Systems using attribute-based naming, such as the Seman- dex size (under 1% of the user's data set).
    [Show full text]
  • Dtsearch Desktop/Dtsearch Network Manual
    dtSearch Desktop dtSearch Network Version 7 Copyright 1991-2021 dtSearch Corp. www.dtsearch.com SALES 1-800-483-4637 (301) 263-0731 Fax (301) 263-0781 [email protected] TECHNICAL (301) 263-0731 [email protected] 1 Table of Contents 1. Getting Started _____________________________________________________________ 1 Quick Start 1 Installing dtSearch on a Network 7 Automatic deployment of dtSearch on a Network 8 Command-Line Options 10 Keyboard Shortcuts 11 2. Indexes __________________________________________________________________ 13 What is a Document Index? 13 Creating an Index 13 Caching Documents and Text in an Index 14 Indexing Documents 15 Noise Words 17 Scheduling Index Updates 17 3. Indexing Web Sites _________________________________________________________ 19 Using the Spider to Index Web Sites 19 Spider Options 20 Spider Passwords 21 Login Capture 21 4. Sharing Indexes on a Network _________________________________________________ 23 Creating a Shared Index 23 Sharing Option Settings 23 Index Library Manager 24 Searching Using dtSearch Web 25 5. Working with Indexes _______________________________________________________ 27 Index Manager 27 Recognizing an Existing Index 27 Deleting an Index 27 Renaming an Index 27 Compressing an Index 27 Verifying an Index 27 List Index Contents 28 Merging Indexes 28 6. Searching for Documents _____________________________________________________ 29 Using the Search Dialog Box 29 Browse Words 31 More Search Options 32 Search History 33 i Table of Contents Searching for a List of Words 33 7.
    [Show full text]
  • Comparison of Indexers
    Comparison of indexers Beagle, JIndex, metaTracker, Strigi Michal Pryc, Xusheng Hou Sun Microsystems Ltd., Ireland November, 2006 Updated: December, 2006 Table of Contents 1. Introduction.............................................................................................................................................3 2. Indexers...................................................................................................................................................4 3. Test environment ....................................................................................................................................5 3.1 Machine............................................................................................................................................5 3.2 CPU..................................................................................................................................................5 3.3 RAM.................................................................................................................................................5 3.4 Disk..................................................................................................................................................5 3.5 Kernel...............................................................................................................................................5 3.6 GCC..................................................................................................................................................5
    [Show full text]
  • List of Search Engines
    A blog network is a group of blogs that are connected to each other in a network. A blog network can either be a group of loosely connected blogs, or a group of blogs that are owned by the same company. The purpose of such a network is usually to promote the other blogs in the same network and therefore increase the advertising revenue generated from online advertising on the blogs.[1] List of search engines From Wikipedia, the free encyclopedia For knowing popular web search engines see, see Most popular Internet search engines. This is a list of search engines, including web search engines, selection-based search engines, metasearch engines, desktop search tools, and web portals and vertical market websites that have a search facility for online databases. Contents 1 By content/topic o 1.1 General o 1.2 P2P search engines o 1.3 Metasearch engines o 1.4 Geographically limited scope o 1.5 Semantic o 1.6 Accountancy o 1.7 Business o 1.8 Computers o 1.9 Enterprise o 1.10 Fashion o 1.11 Food/Recipes o 1.12 Genealogy o 1.13 Mobile/Handheld o 1.14 Job o 1.15 Legal o 1.16 Medical o 1.17 News o 1.18 People o 1.19 Real estate / property o 1.20 Television o 1.21 Video Games 2 By information type o 2.1 Forum o 2.2 Blog o 2.3 Multimedia o 2.4 Source code o 2.5 BitTorrent o 2.6 Email o 2.7 Maps o 2.8 Price o 2.9 Question and answer .
    [Show full text]
  • Ileak: a Lightweight System for Detecting Inadvertent Information Leaks
    iLeak: A Lightweight System for Detecting Inadvertent Information Leaks Vasileios P. Kemerlis, Vasilis Pappas, Georgios Portokalidis, and Angelos D. Keromytis Network Security Lab Computer Science Department Columbia University, New York, NY, USA {vpk, vpappas, porto, angelos}@cs.columbia.edu Abstract—Data loss incidents, where data of sensitive nature Most research on detecting and preventing information are exposed to the public, have become too frequent and have leaks has focused on applying strict information flow control caused damages of millions of dollars to companies and other (IFC). Sensitive data are labeled and tracked throughout organizations. Repeatedly, information leaks occur over the Internet, and half of the time they are accidental, caused by an application’s execution to detect their illegal propaga- user negligence, misconfiguration of software, or inadequate tion (e.g., their transmission over the network). Approaches understanding of an application’s functionality. This paper such as Jif [6] and JFlow [7] achieve IFC by introducing presents iLeak, a lightweight, modular system for detecting extensions to the Java programming language, while others inadvertent information leaks. Unlike previous solutions, iLeak enforce it dynamically [8], or propose new operating system builds on components already present in modern computers. In particular, we employ system tracing facilities and data (OS) designs [9]. Fine-grained IFC mechanisms require that indexing services, and combine them in a novel way to detect sensitive data are labeled by the user beforehand, but as data leaks. Our design consists of three components: uaudits are the amount of data stored in desktops continuously grows, responsible for capturing the information that exits the system, locating documents and files containing personal data be- while Inspectors use the indexing service to identify if the comes burdensome.
    [Show full text]
  • Case Studies
    ® 3rd party developer case studies click on the icons below to view a category Technical and Medical Documentation Information Management Financial, Trade and News Legal Recruiting and Staffing Non-Profit and Education General Developer Tools and Resources International Language Developer Tools International and Other Government Forensics, Intelligence and Security The Smart Choice for Text Retrieval ® since 1991 dtSearchUntitled Document Technical and Medical Documentation Case Studies Spar Aerospace enlists dtSearch for aircraft contract. Spar Aerospace, a subsidiary of L-3 Communications, is a leading aviation services company. Spar had a contract to update the maintenance publications for an aircraft fleet, both on the Web and on laptop replications in the field. “Search requirements for this project were extensive and stringent. We investigated most of the ‘high end’ search engines out there. We decided to use dtSearch ... I have been very impressed by the dtSearch support organization ... Answers are always appropriate, straight forward, clear and unambiguous.” From Computerworld Canada: “Aviation firm earns wings with new text search ... Spar chose dtSearch Corp.’s text-search product, dtSearch Web, to serve the information up in an easily indexed manner online.” For “‘a requirement that we have to run this thing on stand-alone PCs,’ ... Spar signed on for dtSearch Publish.” Contegra Systems succeeds in “boosting support and service with better search and navigation” through dtSearch web-based implementation for Otis Elevator.
    [Show full text]
  • Application List Report
    8/26/2015 Application List Report Application List Report Date: 8/26/2015 Version Mutiple Subscription Application Name Item Number Subscription Supported Info Not Versions Only Required Allowed 1099 Pro 1099PRO­0001 No No Yes No Yes 1099­Etc AMS­0001 No No Yes No Yes 1099Convey CONVEY­0001 No No Yes No No Desktop Edition 2BrightSparks No No Yes No No SyncBackPro 2X SecureRDP No No No No No 4Team Sync2 4TEAM­0001 No No Yes No No 7Zip 7ZIP­0001 No No Yes No No AbacusLaw No No Yes No No ABBYY FineReader ABBYY­0001 No No Yes No No Abila MIP Fund No No Yes No No Accounting Able2Extract PDF INVESTINTECH­ No No Yes No No Converter 0001 About Time No No Yes No No AbstractExpress TSS­003 No No Yes No No Accelrys Materials No No Yes No No Studio Accountants Workflow Solutions No No Yes No No Access Database AccountEdge Pro No No Yes No No Accubid No No Yes No No ChangeOrder Accubid Livecount No No Yes No No Accubid Pro No No Yes No No AccuTerm ACCUSOFT­0001 No No Yes No No AccuTitle ACCUTITLE­0001 No No Yes No No DocUploader Acroprint ACROPRINT­0001 No No Yes No No Attendance Rx ACT! by Sage SAGE­0006 No No Yes No No Act! Premium No No Yes No No Act! Pro No No Yes No No ACT! Sales PINPOINT­0001 No No Yes No No Manager Act­3D Lumion Free No No No No No Active State No No Yes No No Password Gorilla ActiveHelper Support Panel No No Yes No No Desktop Acumatica ERP No No Yes No No 1/33 8/26/2015 Application List Report AdaptCRM ADAPT­0001 No No Yes No No Enterprise Address Accelerator/ Postal BLACKBAUD­0004 No No Yes No No Saver Plugin for Raiser's Edge Adobe Acrobat ADOBE­0024 No No Yes No No AutoPortfolio Adobe Acrobat Professional (v.
    [Show full text]
  • Extracting Evidence Using Google Desktop Search
    Chapter 4 EXTRACTING EVIDENCE USING GOOGLE DESKTOP SEARCH Timothy Pavlic, Jill Slay and Benjamin Turnbull Abstract Desktop search applications have improved dramatically over the last three years, evolving from time-consuming search applications to in- stantaneous search tools that rely extensively on pre-cached data. This paper investigates the extraction of pre-cached data for forensic pur- poses, drawing on earlier work to automate the process. The result is aproof-of-conceptapplicationcalledGoogleDesktopSearch Evidence Collector (GDSEC), which interfaces with Google Desktop Search to convert data from Google’s proprietary format to one that is amenable to offline analysis. Keywords: Google Desktop Search, evidence extraction 1. Introduction Current desktop search utilities such as Windows Desktop Search, Google Desktop Search and Yahoo! Desktop Search differ from earlier tools in that user data is replicated and stored independently [1, 10]. Unlike the older systems that searched mounted volumes on-the-fly, the newer systems search pre-built databases, accelerating thesearchfor user data with only a nominal increase in hard disk storage [5]. The replication of data in a search application has potential forensic appli- cations – data stored independently within a desktop search application database often remains after the original file is deleted. In previous work [9], we examined the forensic possibilitiesofdata stored within Google Desktop Search; in particular, we discussed the extraction of text from deleted word processing documents, thumbnails from deleted image files and the cache for HTTPS sessions. However, the format of the extracted data files does not allow for simple interpretation and analysis; therefore, the only sure method of extracting data was via 44 ADVANCES IN DIGITAL FORENSICS IV the search application interface.
    [Show full text]