KR102402415B1 - 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법 - Google Patents

데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법 Download PDF

Info

Publication number
KR102402415B1
KR102402415B1 KR1020217043428A KR20217043428A KR102402415B1 KR 102402415 B1 KR102402415 B1 KR 102402415B1 KR 1020217043428 A KR1020217043428 A KR 1020217043428A KR 20217043428 A KR20217043428 A KR 20217043428A KR 102402415 B1 KR102402415 B1 KR 102402415B1
Authority
KR
South Korea
Prior art keywords
view
item
linking component
wbs
linking
Prior art date
Application number
KR1020217043428A
Other languages
English (en)
Other versions
KR20220003671A (ko
Inventor
아미트 카우프만
오렌 홀랜더
나다브 아브라하미
지리 토비섹
Original Assignee
윅스.컴 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윅스.컴 리미티드 filed Critical 윅스.컴 리미티드
Publication of KR20220003671A publication Critical patent/KR20220003671A/ko
Application granted granted Critical
Publication of KR102402415B1 publication Critical patent/KR102402415B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Circuits Of Receivers In General (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Alarm Systems (AREA)

Abstract

웹사이트 구축 시스템(WBS)은, 구축되는 중인 웹사이트 상에 디스플레이될 콘텐츠 아이템들의 풀(pool), 상기 아이템들을 디스플레이하기 위하여 사용될 수 있는 뷰들의 세트로서, 각각의 뷰는 상기 웹사이트의 웹페이지의 섹션에 대한 템플릿인, 뷰들의 세트, 및 상기 콘텐츠 아이템을 상기 웹사이트 상에 디스플레이하기 위한, 각각의 콘텐츠 아이템에 대한 적합한 뷰를 동적으로 제공하기 위한 동적 매칭 및 적응 모듈을 포함한다. 동적 매칭 및 적응 모듈은: 뷰들의 상기 세트로부터 상기 매칭 뷰의 위치를 결정하는 것; (b) 매칭 뷰를 즉시 구성하는 것; 및 (c) 뷰들의 상기 세트로부터 상기 매칭 뷰의 위치를 결정하고 그리고 위치결정된 뷰를 수정하는 것 중 적어도 하나를 수행한다.

Description

데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법{DEVICE, SYSTEM, AND METHOD OF WEBSITE BUILDING BY UTILIZING DATA LISTS}
관련 출원에 대한 상호 참조
본 출원은 2013 년 3 월 14 일에 출원된 미국 가특허출원 번호 제 61/781,866 호에 대한 우선권을 주장하는데, 이것은 그 전체가 원용에 의하여 본원에 통합된다.
본 발명은 웹사이트를 구축하는 분야에 관한 것이다.
수 백만 명의 사용자들이 웹 콘텐츠를 읽거나 그렇지 않으면 수비하기 위하여 매일 인터넷을 이용한다. 예를 들어, 사용자는 온라인 뉴스를 읽고, 온라인 비디오를 시청하며, 소셜 네트워크를 통해서 다른 사용자들과 상호작용하고, 온라인 게임을 즐기는 등을 위하여 통상적으로 브라우저를 실행하는 개인용 컴퓨터, 랩탑 컴퓨터, 스마트 폰 또는 태블릿을 이용할 수도 있다.
몇몇 웹사이트들은 수동으로 코드, 특히 HTML 코드 및/또는 자바스크립트를 작성함으로써 구축될 수도 있다. 그러나, 웹사이트들이 더 복잡해지고 더 풍부하고 대화형인 사용자 경험을 제공하게 되었기 때문에, 다양한 "웹사이트 빌더" 툴이 특정 웹페이지 및 심지어 전체 웹사이트를 구성하는 것을 용이화 및/또는 자동화하기 위하여 도입되었다.
본 발명은, 예를 들어 데이터 목록을 이용하여 웹사이트를 구축하기 위한 디바이스, 시스템, 및 방법을 포함할 수도 있다.
본 발명의 몇몇 예시적인 실시예에 따르면, 예를 들어 웹사이트 구축 시스템(WBS)은, 구축되는 중인 웹사이트 상에 디스플레이될 콘텐츠 아이템들의 풀(pool), 상기 아이템들을 디스플레이하기 위하여 사용될 수 있는 뷰들의 세트로서, 각각의 뷰는 상기 웹사이트의 웹페이지의 섹션에 대한 템플릿인, 뷰들의 세트, 및 상기 콘텐츠 아이템을 상기 웹사이트 상에 디스플레이하기 위한, 각각의 콘텐츠 아이템에 대한 적합한 뷰를 동적으로 제공하기 위한 동적 매칭 및 적응 모듈을 포함한다.
몇 가지 구현형태들에서, 예를 들어 동적 매칭 및 적응 모듈은 (a) 뷰들의 상기 세트로부터 상기 매칭 뷰의 위치를 결정하는 것; (b) 매칭 뷰를 즉시(on-the-fly) 구성하는 것; 및 (c) 뷰들의 상기 세트로부터 상기 매칭 뷰의 위치를 결정하고 그리고 위치결정된 뷰를 수정하는 것 중 적어도 하나를 수행한다.
몇 가지 구현형태들에서, 예를 들어 상기 웹사이트 구축 시스템은 아이템 타입들을 지원하고, 뷰들의 상기 세트 내의 적어도 하나의 뷰는 하나의 아이템 타입과 연관되고 상기 아이템 타입에 속하는 아이템을 디스플레이하기 위하여 사용될 수 있다.
몇 가지 구현형태들에서, 예를 들어 상기 동적 매칭 및 적응 모듈은, 적합한 뷰를 콘텐츠 아이템의 상기 아이템 타입에 매칭함으로써, 뷰의 상기 콘텐츠 아이템으로의 매칭을 수행한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 하나 이상의 조건부 엘리먼트를 가지는 뷰를 생성하기 위한 뷰 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 콘텐츠 아이템들의 상기 풀은: 콜렉션 업데이팅(collection updating) 애플리케이션 프로그래밍 인터페이스(API), 콜렉션 업데이팅 웹 서비스, RSS 피드, 및 외부 데이터 소스에 기초한 콜렉션 업데이팅을 위한 인터페이스 중 적어도 하나를 통해 업데이트가능한 적어도 하나의 아이템 콜렉션을 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 웹사이트 페이지를 직접적으로 콘텐츠 아이템에 대한 뷰로서 이용하기 위한 웹사이트/뷰 컨버터를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 주어진 뷰와 주어진 아이템 사이를 연관시키기 위한 사전-연관 모듈을 더 포함하고, 상기 동적 매칭 및 적응 모듈은 뷰와 아이템 사이의 사전-연관에 기초하여 동적 매칭을 수행하기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 사전-연관은 주어진 아이템과 주어진 뷰 사이의 사전-연관의 명시적 사양을 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 사전-연관은: 명칭 속성(name attribute) 및 콘텍스트 속성 중 적어도 하나에 기초한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 상기 매칭 및 적응 모듈은, 선정의된 뷰의 풀 내에서, 주어진 아이템과 매칭되는 하나 이상의 뷰에 대하여 검색하기 위한 뷰 풀 검색기(view pool searcher)를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 뷰 풀 검색기는 하나 이상의 키워드에 기초하여 뷰와 아이템 사이를 매칭시키기 위한 키워드-기초 검색기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 뷰 풀 검색기는 하나 이상의 속성 매치에 기초하여 뷰와 아이템 사이를 매칭시키기 위한 속성-기초 검색기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 뷰 풀 검색기는 하나 이상의 필드 매치에 기초하여 뷰와 아이템 사이를 매칭시키기 위한 필드-매칭 검색기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 뷰 풀 검색기는 하나 이상의 애플리케이션-관련 파라미터에 기초하여 뷰와 아이템 사이를 매칭시키기 위한 애플리케이션-관련 파라미터들 검색기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 동적 매칭 및 적응 모듈은 상기 웹사이트를 디스플레이하기 위하여 사용되는 전자 디바이스의 폼 팩터를 고려함으로써 하나 이상의 매칭 뷰 후보를 추출하기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 웹사이트 구축 시스템은, 현존 뷰로부터 특징을 상속하는 유도된 뷰를 생성할 수 있는 뷰 상속 모듈을 통해서 뷰의 상속을 지원한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 주어진 뷰가 주어진 콘텐츠에 대하여 적합하지 않다면, 뷰 상속 트리 내의 적합한 뷰에 대하여 상향으로 검색하기 위한 부모 뷰 검색기(parent view searcher)를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 아이템 타입에 기초하여 유도된 뷰를 자동적으로 생성하기 위한 뷰 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 웹사이트 구축 시스템은, 현존 아이템 타입으로부터 특징을 상속하는 유도된 아이템 타입을 생성할 수 있는 아이템 타입 상속 모듈을 통해서 아이템 타입의 상속을 지원한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 유도된 뷰에 기초하여 유도된 아이템 타입을 자동적으로 생성하기 위한 뷰 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 주어진 아이템 타입의 부모 타입에 대한 매칭 뷰의 위치를 결정하도록 타입 상속 트리 내에서 상향으로 검색하기 위한 부모 검색기를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 상기 매칭 및 적응 모듈은, 부모 아이템 타입과 매칭되는 위치결정된 뷰를, 상기 부모 아이템 타입으로부터 유도된 아이템 타입으로 이루어진 수정에 따라서 적응시키기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 주어진 콘텐츠 아이템에 대한 포텐셜 매칭 뷰를 순위결정하기 위한 랭킹 모듈을 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 랭킹 모듈은 랭킹을: 필드의 매칭, 키워드의 매칭, 및 속성의 매칭 중 적어도 하나에 적용한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 우선순위 값을 각각의 뷰에 부착시키기 위한 뷰 우선순위 매니저를 더 포함하고, 상기 동적 매칭 모듈은 다수의 후보 매칭 뷰를 찾아내기 위한 것이고, 또한 상기 다수의 후보 매칭 뷰로부터 이용하기 위한 단일 뷰를 상기 우선순위 값에 기초하여 선택하기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 상기 동적 매칭 모듈에 의하여 위치가 결정되는 다수의 후보 매칭 뷰들 중에서 이용하기 위한 뷰를 선택하기 위한 뷰 등급결정 콜백(view rating callback)을 정의하기 위한 콜백 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 동적 매칭 모듈은 다수의 후보 매칭 뷰들을 찾기 위한 것이고, 또한 최종-사용자가 상기 다수의 후보 매칭 뷰들 사이에서 전환하도록 하는 최종-사용자 선택 사용자 인터페이스를 생성하기 위한 최종-사용자 선택 인터페이스 생성기를 활성화시키기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 콘텐츠 아이템은 최종-사용자에 의하여 전환가능한 두 개 이상의 디스플레이 포맷들을 이용하는 다형성 디스플레이를 사용하여 시청가능해지고; 상기 다형성 디스플레이 내의 특정 디스플레이 포맷의 최종-사용자 선택은 콘텐츠 아이템들로의 뷰의 매칭에 영향을 준다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 동일한 아이템 타입의 아이템들의 주어진 세트로부터 디스플레이되는 순차적인 아이템들의 뷰들 사이에 일관성을 집행하기 위한 뷰 선택 일관성 집행기(view choice persistence enforcer)를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 매칭 및 적응 모듈은, 주어진 콘텐츠 아이템에 대하여, 상기 매칭 및 적응 모듈이 상기 콘텐츠 아이템과 임계 값보다 더 큰 매칭 점수로 매칭하는 임의의 매칭하는 선정의된 뷰를 찾지 못한다면, 다수의 후보 매칭 뷰들 중에서 탑-랭킹 후보를 동적으로 수정하기 위한 동적 뷰 구성기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 매칭 및 적응 모듈은, 주어진 콘텐츠 아이템에 대하여, 상기 매칭 및 적응 모듈이 상기 콘텐츠 아이템과 임계 값보다 더 큰 매칭 점수로 매칭하는 임의의 매칭하는 선정의된 뷰를 찾지 못한다면, 뷰를 동적으로 구성하기 위한 동적 뷰 구성기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 선정의된 뷰들의 풀을 검색하고, 매칭 뷰의 위치를 결정하며, 주어진 콘텐츠 아이템의 하나 이상의 특징을 수용하도록 상기 뷰를 즉시 수정하기 위한 통합 검색기/구성기 모듈을 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 디스플레이를 상기 콘텐츠 아이템의 두 개 이상의, 개별적인 엘리먼트들을 수용하는 두 개 이상의 영역들로 분할하기 위한 뷰내 영역 분할기(in-view regions divider)를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 새로운 컴포넌트를 뷰 내에서 상기 뷰의 현존 컴포넌트에 상대적으로 정의되는 랜딩 존 상에 배치하기 위한 랜딩 존 배치 모듈을 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 랜딩 존 배치 모듈은 배치될 컴포넌트의 성질(properties)에 기초하여 적합한 상기 랜딩 존을 선택하기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 랜딩 존 배치 모듈은 상기 랜딩 존을: 컨테이너의 끝, 미니-페이지의 끝, 주어진 타입을 가지는 컨테이너의 끝, 주어진 속성을 가지는 컨테이너의 끝, 최근 필드 추가의 위치에 이어서, 적어도 주어진 양의 빈 스크린 공간을 가지는 위치에서, 그리고 새롭게 생성된 페이지 또는 미니-페이지 내에서 중 적어도 하나에 기초하여 자동적으로 생성하기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 하나 이상의 동적 레이아웃 규칙을 상기 특정 뷰로 적용시키기 위한 동적 레이아웃 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 동적 레이아웃 매니저는 상기 동적 레이아웃 규칙 및 동적 레이아웃 앵커(dynamic layout anchor)를 고려한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, (a) 매칭되거나 또는 (b) 즉시 동적 구성되거나 또는 (c) 즉시 동적 적응되었던 뷰의 작성된 버전(filled-in version)을 생성하기 위한 작성된 뷰 생성기를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 작성된 뷰 생성기는, 상기 뷰 내의 각각의 데이터 컴포넌트를 상기 아이템 내의 매칭 필드로 매핑하기 위한 뷰-필드 매칭 모듈을 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 뷰-필드 매칭 모듈은: (a) 사전-연관 데이터; (b) 뷰 컴포넌트 및 아이템 필드에 의하여 사용되는 공통 명칭; (c) 뷰 컴포넌트 및 아이템 필드로 지정되는 매칭 키워드에 대한 질의 중 적어도 하나를 이용한다.
몇 가지 구현형태들에서, 예를 들어 상기 작성된 뷰 생성기는, 누락 필드를 제로 사이즈로 리사이징하기 위한 컴포넌트 리사이징 모듈을 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 작성된 뷰 생성기는, 사용되는 중인 디스플레이 유닛의 종횡비를 수용하도록, 상기 특정 뷰 내의 적어도 하나의 컴포넌트의 치수를 최적화하기 위한 뷰 디스플레이-크기 조절기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 뷰 디스플레이-크기 조절기는, 상기 컴포넌트의 가능한 타겟 폭들의 세트를 생성하고, 각각의 타겟 폭에 대한 대응하는 높이를 결정하기 위한 동적 레이아웃 계산을 수행하기 위한 타겟 폭 생성기; 및 사용되는 중인 디스플레이 유닛의 종횡비를 최선으로 수용하는 단일 타겟 폭을 선택하기 위한 타겟 폭 선택기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 주어진 뷰는 상기 뷰 내에 포함되는 리피터 컴포넌트를 포함하고, 상기 리피터 컴포넌트는 상기 주어진 뷰를 통해서 디스플레이되는 콘텐츠 아이템의 일차 목록과 관련되는 이차 목록을 디스플레이한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 상기 주어진 뷰에 따라서 상기 일차 목록이 가지는 동일한 명칭 속성 및 콘텍스트 속성을 사용함으로써 상기 이차 목록을 디스플레이하기 위한 리피터 컴포넌트 디스플레이 모듈을 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 콘텐츠 아이템들의 상기 풀로부터 획득되는 콘텐츠를 디스플레이하는 컨테이너를 포함하는 링킹 컴포넌트(linking component)를 정의하기 위한 링킹 컴포넌트 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는, 콘텐츠 아이템들의 상기 풀로부터의 단일 콘텐츠 아이템을 포함하는 단일 미니-페이지를 한 번에 디스플레이한다.
몇 가지 구현형태들에서, 예를 들어, 상기 링킹 컴포넌트 매니저는 브라우징된 콘텐츠 아이템들 사이의 전환을 애니메이션한다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는 콘텐츠 아이템들의 갤러리를 동시에 디스플레이한다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는, 상기 링킹 컴포넌트로 직접적으로 링크되는 직접 URL에 응답하여 상기 링킹 컴포넌트에 의하여 링크되는 하나 이상의 콘텐츠 아이템을 디스플레이하기 위한 것이다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는, 콘텐츠 아이템들의 관련된 목록에 기초하여 두 개의 링킹 컴포넌트들 사이를 상호연결시키도록, 관련된 목록 연결 매니저와 연관된다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는, 상기 두 개의 링킹 컴포넌트 내의 아이템에 기초하여 취합된 값을 계산하는 취합 기능에 기초하여 두 개의 링킹 컴포넌트들 사이를 상호연결하기 위한 취합기 필드 연결 매니저(aggregator field connection manager)와 연관된다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는, 하나 또는 상기 두 개의 링킹 컴포넌트와 연관되는 클라우드 태그로부터의 태그의 선택에 기초하여 두 개의 링킹 컴포넌트들 사이를 상호연결하기 위한 태그 클라우드 연결 매니저(tag cloud connection manager)와 연관된다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는 적어도 하나의 부모/자식 포인터를 가지는 계층성 트리에 기초하여 두 개의 링킹 컴포넌트들 사이를 상호연결하기 위한 계층성 트리 연결 매니저(hierarchy tree connection manager)와 연관된다.
몇 가지 구현형태들에서, 예를 들어 상기 링킹 컴포넌트 매니저는, 제 1 링킹 컴포넌트의 현재-디스플레이된 아이템의 대안적인 프리젠테이션을 디스플레이하기 위한 제 1 링킹 컴포넌트의 요청에 기초하여 두 개의 링킹 컴포넌트들 사이를 상호연결하기 위한 폼 디스플레이 연결 매니저(form display connection manager)와 연관된다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 상기 뷰를 포함하는 링킹 컴포넌트의 레이아웃을, 상기 뷰 내의 콘텐츠 아이템의 프리젠테이션 성질에 기초하여 수정하기 위한 동적 레이아웃 매니저를 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, (a) 적용되는 중인 특정 뷰의 콘텍스트에서 하나 이상의 컴포넌트를 디스플레이된 콘텐츠에 추가하는 것; (b) 적용되는 중인 특정 뷰의 콘텍스트에서 디스플레이된 콘텐츠의 하나 이상의 컴포넌트를 삭제하는 것; 및 (c) 적용되는 중인 특정 뷰의 콘텍스트에서 디스플레이된 콘텐츠의 하나 이상의 컴포넌트를 수정하는 것 중 적어도 하나를 수행함으로써 특정 콘텐츠 아이템을 적응시키기 위한 특정 아이템 적응 모듈을 더 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 특정 아이템 적응 모듈은, 주어진 뷰의 로컬 변형물을 내부 유도된 뷰로서 생성하고, 수정의 레이어(layer)를 상기 내부 유도된 뷰에 추가하기 위한 로컬 변형물 생성기를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 내부 유도된 뷰는 상기 내부 유도된 뷰가 적용되는 아이템의 식별자와 함께 저장된다.
몇 가지 구현형태들에서, 예를 들어 상기 내부 유도된 뷰는 상기 내부 유도된 뷰가 적용되는 아이템을 포함하는 현재 목록 애플리케이션 내에 저장된다.
몇 가지 구현형태들에서, 예를 들어 상기 특정 아이템 적응 모듈은,
주어진 뷰의 모든 인스턴스에 뷰 맞춤화를 적용하기 위한 맞춤화 모듈을 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 WBS는, 웹사이트 디자이너가 웹사이트 구축 시스템에 의하여 생성되는 하나 이상의 오브젝트를 획득하게 하는 애플리케이션 스토어를 관리하기 위한 애플리케이션 스토어 매니저 모듈을 더 포함하고, 상기 획득하는 동작은: (a) 다운로드; (b) 저장 항목(storage article)으로부터의 획득; (c) 발송된(shipped) 저장 항목으로부터의 획득; (d) 상기 오브젝트를 저장하는 서버 컴퓨터로부터의 획득; (e) 클라우드 컴퓨팅 서버로부터의 획득 중 적어도 하나를 포함한다.
본 발명의 몇몇 예시적인 실시예에 따르면, 예를 들어 웹사이트를 구축하기 위한 컴퓨터화된 방법은, 구축되는 중인 웹사이트 상에 디스플레이될 콘텐츠 아이템들의 풀을 저장하는 아이템 풀 저장 단계; 상기 아이템들을 디스플레이하기 위하여 사용될 수 있는 뷰들의 세트를 저장하는 단계로서, 각각의 뷰는 상기 웹사이트의 웹페이지의 섹션에 대한 템플릿인, 뷰 세트 저장 단계; 및 상기 콘텐츠 아이템을 상기 웹사이트 상에 디스플레이하기 위한, 각각의 콘텐츠 아이템에 대한 적합한 뷰를 동적으로 제공하기 위하여, 동적 매칭 및 적응을 수행하는 동작 매칭 및 적응 수행 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 (a) 뷰들의 상기 세트로부터 상기 매칭 뷰의 위치를 결정하는 것; (b) 매칭 뷰를 즉시 구성하는 것; 및 (c) 뷰들의 상기 세트로부터 상기 매칭 뷰의 위치를 결정하고 그리고 위치결정된 뷰를 수정하는 것 중 적어도 하나를 수행하는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 주어진 뷰와 주어진 아이템 사이를 연관시키는 단계를 포함하고, 상기 동적 매칭 및 적응은, 뷰와 아이템 사이의 사전-연관에 기초하여 동적 매칭을 수행하는 것을 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 현존 뷰로부터 특징을 상속하는 유도된 뷰를 생성함으로써 뷰의 상속을 지원하는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 주어진 콘텐츠 아이템에 대하여 포텐셜 매칭 뷰를 순위결정하는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 주어진 콘텐츠 아이템에 대하여, 상기 매칭 및 적응이 상기 콘텐츠 아이템과 임계 값보다 더 큰 매칭 점수로 매칭하는 임의의 매칭하는 선정의된 뷰를 찾지 못한다면, 다수의 후보 매칭 뷰들 중에서 탑-랭킹 후보를 동적으로 수정하는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 하나 이상의 동적 레이아웃 규칙을 상기 특정 뷰에 적용시키는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 주어진 뷰는 상기 뷰 내에 포함되는 리피터 컴포넌트를 포함하고, 상기 리피터 컴포넌트는 상기 주어진 뷰를 통해서 디스플레이되는 콘텐츠 아이템의 일차 목록과 관련되는 이차 목록을 디스플레이한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 콘텐츠 아이템들의 상기 풀로부터 획득되는 콘텐츠를 디스플레이하는 컨테이너를 포함하는 링킹 컴포넌트(linking component)를 정의하는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은 (a) 적용되는 중인 특정 뷰의 콘텍스트에서 하나 이상의 컴포넌트를 디스플레이된 콘텐츠에 추가하는 것; (b) 적용되는 중인 특정 뷰의 콘텍스트에서 디스플레이된 콘텐츠의 하나 이상의 컴포넌트를 삭제하는 것; 및 (c) 적용되는 중인 특정 뷰의 콘텍스트에서 디스플레이된 콘텐츠의 하나 이상의 컴포넌트를 수정하는 것 중 적어도 하나를 수행함으로써 특정 콘텐츠 아이템을 적응시키기 위하여 특정 아이템 적응을 수행하는 단계를 포함한다.
몇 가지 구현형태들에서, 예를 들어 상기 방법은, 웹사이트 디자이너가 웹사이트 구축 시스템에 의하여 생성되는 하나 이상의 오브젝트를 획득하게 하는 애플리케이션 스토어를 관리하는 단계를 포함하고, 상기 획득하는 동작은: (a) 다운로드; (b) 저장 항목(storage article)으로부터의 획득; (c) 발송된(shipped) 저장 항목으로부터의 획득; (d) 상기 오브젝트를 저장하는 서버 컴퓨터로부터의 획득; (e) 클라우드 컴퓨팅 서버로부터의 획득 중 적어도 하나를 포함한다.
몇몇 구현예는, 예를 들어 머신에 의하여 실행될 때에 머신이 본 발명에 따른 방법을 실행하도록 하는 명령을 저장하는 저장 매체를 포함할 수도 있다.
몇 가지 구현형태들에서, 예를 들어 상기 하나 이상의 오브젝트는: 뷰; 템플릿; 아이템 타입; 아이템의 콜렉션; 목록 애플리케이션; 링킹 컴포넌트 중 하나 이상을 포함한다.
본 발명은 다른 그리고/또는 추가적인 이점 또는 장점들을 제공할 수도 있다.
예시의 간결성 및 명확화를 위하여, 도면에 도시된 엘리먼트들이 반드시 척도에 맞게 그려진 것은 아니다. 예를 들어, 엘리먼트들 중 일부의 치수는 프리젠테이션의 명확화를 위하여 다른 엘리먼트에 상대적으로 과장될 수도 있다. 더 나아가, 적합하다고 여겨지는 경우, 참조 번호는 대응하거나 유사한 엘리먼트를 표시하기 위하여 도면에서 반복될 수도 있다. 도면은 아래에 목록화된다.
도 1 은 본 발명의 몇몇 예시적인 실시예에 따르는, 웹사이트를 구축하기 위하여 사용될 수도 있는 웹사이트 구축 시스템(WBS)의 개략적인 블록-다이어그램 예시이다;
도 2 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 컴포넌트 및 그들의 콘텐츠를 도시하는 개략적인 블록-다이어그램 예시이다;
도 3 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 오브젝트들 중에서 특히 상속을 예시하는 개략적인 블록-다이어그램 예시이다;
도 4 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 템플릿을 예시하는 개략적인 블록-다이어그램 예시이다;
도 5 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 아이템 타입을 예시하는 개략적인 블록-다이어그램 예시이다;
도 6 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 콜렉션 및 아이템을 예시하는 개략적인 블록-다이어그램 예시이다;
도 7 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 링킹 컴포넌트(Linking Component; LC)를 예시하는 개략적인 블록-다이어그램 예시이다;
도 8 및 도 9 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰들(Views) 및 이러한 뷰들을 관리하는 모듈들을 예시하는 개략적인 블록-다이어그램 예시이다;
도 10 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 매칭/구성 및 작성(fill-out)의 3-스테이지 프로세스의 모듈들을 예시하는 개략적인 블록-다이어그램 예시이다;
도 11 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 위치결정(또는, 뷰의 아이템으로의 매칭)을 예시하는 개략적인 블록-다이어그램 예시이다;
도 12 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 사전-연관(View pre-association)을 예시하는 개략적인 블록-다이어그램 예시이다;
도 13 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 검색을 예시하는 개략적인 블록-다이어그램 예시이다;
도 14 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 동적 뷰 구성을 예시하는 개략적인 블록-다이어그램 예시이다;
도 15 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 선택 및 다형성 디스플레이를 예시하는 개략적인 블록-다이어그램 예시이다;
도 16 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 작성된 뷰 생성을 예시하는 개략적인 블록-다이어그램 예시이다;
도 17 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 작성된 뷰에 대한 동적 레이아웃 및 조절을 예시하는 개략적인 블록-다이어그램 예시이다;
도 18 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 랜딩 존 배치 및 수정을 예시하는 개략적인 블록-다이어그램 예시이다;
도 19 는 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 뷰 수정을 예시하는 개략적인 블록-다이어그램 예시이다;
도 20 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 LC 연결 관리를 예시하는 개략적인 블록-다이어그램 예시이다;
도 21 은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS의, 특히 앱 스토어 통합(App Store integration)을 예시하는 개략적인 블록-다이어그램 예시이다;
도 22 는 본 발명의 몇몇 예시적인 실시예에 따르는, 레스토랑 목록 애플리케이션(List Application; LA)을 위한 명시적 콜렉션 업데이팅을 지원하는 예시적인 사용자 인터페이스(UI)이다;
도 23a 는 본 발명의 몇몇 예시적인 실시예에 따르는, 단일 LC 내부의 다수의 콜렉션으로부터 아이템 계층성을 디스플레이하는 예시적인 레스토랑 LA이다;
도 23b 는 본 발명의 몇몇 예시적인 실시예에 따르는, 예시적인 레스토랑 LA의 주석이 있는 버전이다;
도 24 는 본 발명의 몇몇 예시적인 실시예에 따르는, 단일 확장된 아이템을 디스플레이하는 샘플 LC이다;
도 25 는 본 발명의 몇몇 예시적인 실시예에 따르는, 복수-열 갤러리 스타일 포맷에서 다수의 아이템 뷰를 디스플레이하는 샘플 LC이다;
도 26 은 본 발명의 몇몇 예시적인 실시예에 따르는, 시스템에 의하여 생성된 바와 같은 목록 내에 포함될 아이템을 선택하기 위하여 사용되는 하나의 예시적인 검색 박스이다; 그리고
도 27 은 본 발명의 몇몇 예시적인 실시예에 따르는, 샘플 LA 내의 뷰 인스턴스들(view instances) 사이의 간격에 대한 "아이템 간격" 값을 증가하는 예시적인 효과이다.
다음의 상세한 설명에서, 다수의 특정 세부사항들이 몇 개의 실시예들의 완전한 이해를 제공하기 위하여 언급된다. 그러나, 일부 실시예들이 이들 특정 세부사항들 없이 실시될 수도 있다는 것이 당업자에게 이해될 수도 있다. 다른 사례들에서, 주지의 방법들, 프로시저들, 컴포넌트들, 유닛들 및/또는 회로들은 이러한 논의를 불필요하게 모호하도록 하지 않기 위해서 상세하게 설명되고 있지 않다.
본 발명은 본 명세서에서 설명된 바와 같은 목록 컴포넌트들(list components) 및 목록 애플리케이션들(list applications)을 구현할 수도 있는 웹사이트 구축 시스템(WBS)을 포함할 수도 있다. WBS는 디자이너 또는 프로그래머 또는 웹사이트를 구축하기를 소망하는 다른 사람에 의하여 사용될 수도 있다. WBS의 몇몇 구현예들은 초보 사용자 또는 비전문가인 사용자를 위하여, 또는 반드시 프로그래밍에서 진보된 기술(또는 임의의 기술)을 가지지는 않는 웹사이트 작성자, 및 프로그래밍 언어(들)에 반드시 능숙하지 않을 수도 있는 사람들을 위하여 적합하도록 구성될 수도 있다. WBS를 웹사이트를 생성하기 위하여 이용할 수도 있는, WBS의 직접적 사용자들은 "디자이너"라고 지칭될 수도 있다; 반면에 웹사이트 자체는 구축되고 공개되고 나면 "최종-사용자(들)"에 의하여 사용될 수도 있다.
본 발명에 따르면, WBS는 후속하는 피쳐들을 포함 및/또는 이네이블할 수도 있다: 아이템 및 아이템 콜렉션; 아이템 타입; 뷰(조건부, 계산된 그리고 다른 엘리먼트들을 포함); 템플릿 및 상속(유도된 뷰 및 유도된 타입을 포함); 링킹 컴포넌트(LC); 아이템, 타입 및 뷰 사이의 동적 매칭; 유도된 뷰에 기초한 아이템 타입의 자동적 생성 및 그 반대의 경우에 대한 지원; 맞춤화 및 자동적으로 생성된 맞춤화 대화에 대한 지원; 특정 아이템 적응에 대한 지원; 관련된 LC들 사이의 연결의 생성에 대한 지원; 위의 모든 피쳐들에 대한 애플리케이션 스토어 통합에 대한 지원.
본 발명의 몇몇 실시예는, 발명의 명칭이 "Web Site Design System Integrating Dynamic Layout and Dynamic Content"이고 2013 년 2 월 20 일에 출원되며 미국 특허 출원 공개 번호 제 2013/0219263 호로서 공개되는 미국 특허 출원 번호 제 13/771,119 호에 설명되는 시스템, 방법, 모듈 및/또는 컴포넌트와 공동으로 이용될 수도 있는데, 이것은 본 명세서에서 그 전체가 원용에 의해 포함된다.
페이지, 컨테이너 및 컴포넌트
이제 도 1 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는, 웹사이트(110)를 구축하기 위하여 사용될 수도 있는 웹사이트 구축 시스템(WBS; 100)의 개략적인 블록-다이어그램 예시이다. WBS(100)는 컴포넌트들(120)(예를 들어, 텍스트, 이미지, 비디오)을 포함할 수도 있는 페이지(111)를 포함할 수도 있는 웹사이트(110)를 구축, 제작, 편집 및/또는 생성하기 위하여 사용될 수도 있다.
컴포넌트(120)는, 예를 들어 원자(atomic) 컴포넌트(121) 및/또는 컨테이너 컴포넌트(122)일 수도 있다. 예를 들어, 컨테이너 컴포넌트(122)는 단일-페이지 컨테이너(123) 또는 복수-페이지 컨테이너(124)(서로 별개인 다수의 미니-페이지(125)를 포함함)일 수도 있다. 이러한 것들이 오직 비한정적이고 예시적인 예라는 것을 분명하게 밝혀둔다. 특히, 도 1 은 컴포넌트 및 컨테이너의 특정 구성을 예시하는데, 하지만 다수의 이러한 구성들이 가능하다.
복수-페이지 컨테이너(124)는 한 번에 단일 미니-페이지(125)를 디스플레이할 수도 있고(단일 페이지 디스플레이), 또는 디스플레이 미니-페이지들(125)(예를 들어, 갤러리 또는 캐러젤(carousel) 또는 예를 들어 도 25 에서 예시되는 바와 같은 콜렉션 디스플레이로서 구현됨)의 일부 또는 전부를 디스플레이할 수도 있다. 복수-페이지 컨테이너(124)는 고정된 디스플레이 모드(예를 들어, 갤러리 디스플레이만)를 가질 수도 있고, 또는 사용자가 다수의 디스플레이 모드들 사이에서 전환하도록 할 수도 있다.
복수-페이지 컨테이너(124)를 가지는 페이지를 볼 때에, 사용자는 하나 이상의 적합한 메커니즘, 예를 들어 네비게이션 버튼(예를 들어, 처음 페이지로, 이전, 다음, 마지막 페이지로) 및/또는 다수의 가시적 미니-페이지(125)(또는 그들의 썸네일, 축소된 표현)를 사용하여, 주어진 복수-페이지 컨테이너(124)에 포함되는 다양한 미니-페이지들(125) 사이에서 이동할 수도 있다.
이제 도 2 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는, 특히 컴포넌트(120)(예를 들어, 웹사이트(110))의 페이지(111)의 컴포넌트 및 그들의 콘텐츠(130))를 보여주는 WBS(100)의 개략적인 블록도 예시이다.
컴포넌트(120)는 콘텐츠(130), 예를 들어 텍스트 컴포넌트에 대한 텍스트 콘텐츠, 이미지 컴포넌트에 대한 이미지, 비디오 플레이어 컴포넌트에 대한 비디오 콘텐츠, 또는 기타 등등을 가질 수도 있다. 컴포넌트(120)는 속성(131), 예를 들어 디스플레이 속성(132)(예를 들어, 컬러, 프레임) 및 레이아웃 속성(133)(예를 들어, 크기 및 포지션)을 가질 수도 있다(또는 이와 연관될 수도 있다). 도 2 가 비한정적인 예시적인 구현예를 도시한다는 것; 및 다양한 속성(131, 132 및/또는 133)은 반드시 콘텐츠(130)에 "의존"하지 않을 수도 있다는 것이 분명하다. 예를 들어, WBS(100) 내의 컴포넌트 중 일부는 반드시 콘텐츠(130)를 가져야 하는 것은 아니고 속성(131, 132 및/또는 133)을 가질 수도 있다(또는 이와 연관될 수도 있다). 이와 유사하게, 몇몇 컴포넌트 타입에서, 속성(131, 132 및/또는 133)은 특정 콘텐츠 또는 임의의 콘텐츠와 별개(및/또는 이로부터 독립적)일 수도 있다. 다른 컴포넌트 타입에서, 콘텐츠는 속성들과 연관될 수도 있다; 예를 들어, 하나 이상의 특정한 폰트 타입 및/또는 컬러가 텍스트 컴포넌트 내에 도시되는 텍스트의 엘리먼트들과 연관될 수도 있다.
WBS(100)는 동적 레이아웃 매니저(DLM)(101)에 의하여 핸들링될 수도 있는 동적 레이아웃 규칙(예를 들어, 다수의 컴포넌트 에지들을 연결하는 앵커)을 포함할 수도 있는 페이지 정의를 생성할 수도 있다. 예를 들어, DLM(101)은 동적 레이아웃(DL) 트리거가 활성화될 때마다, 예를 들어, 페이지 레이아웃에 영향을 주는 변화(예를 들어, 컴포넌트의 추가, 컴포넌트의 제거, 컴포넌트의 콘텐츠를 컴포넌트 사이즈에 영향을 주는 방식으로 변화시키는 것, 컴포넌트의 이동, 컴포넌트의 리사이징), 외부 콘텐츠를 반영하는 컴포넌트에 대한 콘텐츠 변화, 또는 기타 등등이 발생할 때마다 활성화될 수도 있다. 다른 적합한 트리거 또는 트리거링 메커니즘은, 예를 들어 위에서 언급된 미국 특허 출원 번호 제 13/771,119 호에서 상세하게 설명되는 바와 같이 사용될 수도 있다.
상속 관련성
이제 도 3 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 오브젝트들 중에서 특히 상속을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 특히 후속하는 엔티티 타입: 템플릿(페이지를 포함할 수도 있음), 아이템 타입 및 뷰를 포함하는 주어진 엔티티 타입들 사이의 상속 관련성을 지원할 수 있는 상속 지원 매니저(102)를 포함할 수도 있다.
엔티티 A가 엔티티 B로부터 상속하는 경우, A의 서브-엘리먼트는 B의 서브-엔티티로부터 복제되거나 도입된다. 예를 들어, 엔티티 B는 "부모 엔티티 B"(141 이라고 표시됨)라고 지칭될 수도 있고; 반면에 엔티티 A는 "자식 엔티티 A" 또는 "상속 엔티티 A"(142 이라고 표시됨)라고 지칭될 수도 있다. 엔티티 A가: 새로운 서브-엘리먼트의 추가; 복제된 서브-엘리먼트의 제거; 복제된 서브-엘리먼트의 성질의 변경을 포함하는(한정되는 것은 아님) 로컬 수정을 B로부터 복제되어 온 서브-엘리먼트에 가하는 것을 포함할 수도 있다는 것에 주의한다. 로컬 수정은 오직 상속 엔티티 A에만 적용되고 부모 엔티티 B로 적용되지 않을 것이다.
상속 지원 매니저(102)는 하나 이상의 상속-이네이블 모듈, 예를 들어 복제에 의한-상속(inheritance-by-copying) 모듈(103) 및/또는 풀 상속 모듈(104)(이것은 상속 링크(linkage)가 후속 수정이 부모 엔티티 B에 가해지는 경우 상속 엔티티 A에 연속적으로 영향을 줄 수도 있기 때문에, "연속 상속" 모듈이라고 지칭될 수도 있다)을 포함하거나, 이용하거나, 또는 이와 연관될 수도 있다. 몇 가지 구현형태들에서, WBS(100)는 오직 복제에 의한-상속만을 지원할 수도 있는데; 반면에 다른 구현형태들에서, WBS(100)는 오직 풀 상속만을 지원할 수도 있다. 이에 상응하여, 몇 가지 구현형태들에서, WBS(100)는 풀 상속 또는 복제에 의한-상속 중 하나를 지원하지만 이들 모두는 지원하지 않을 수도 있다.
복제에 의한-상속 모듈(103)은 복제에 의한 상속을 가능하게 함으로써, 엔티티 A가 부모 엔티티 B의 구조 및 서브-엘리먼트를 복제함으로써 이에 기초하여 생성되는 별개의 엔티티가 되게 할 수도 있다. 그러나, 복제는 별개의 엔티티이고 상속 엔티티 A의 생성 이후에 부모 엔티티 B로 가해지는 변경을 반영하지 않을 것이다.
풀 상속 모듈(104)은 풀 상속을 가능하게 함으로써, 상속된 엔티티 A가 부모 엔티티 B의 인스턴스를 유지(수정된 경우에도)하게 할 수도 있다. 예를 들어, 부모 엔티티 B가 상속하는 엔티티 A가 생성된 이후에 수정된다면, 부모 엔티티 B로 가해진 변경은 자동적으로 상속 엔티티 A에서 반영될 것이고 상속하는 엔티티 A에 가해지는 로컬 수정과 통합될 것이다.
상속 지원 매니저(102) 및/또는 이것의 모듈은 후속하는 상속 타입 중 임의의 것, 또는 이들의 조합을 지원(각각의 상속-지지 엔티티 타입에 대하여)할 수도 있다: (a) A가 B로부터 상속하도록 하는 정규 상속; (b) A가 B로부터 상속한다, 및 B C로부터 상속하는 복수-레벨 상속; (c) A가 B 및 C 양자 모두로부터 상속하고 양자로부터의 서브-엘리먼트를 결합하는 다수의 상속; (d) A가 B 및 C 양자 모두로부터 상속하고, 그리고 B 및 C 양자 모두가 다른 엔티티 D로부터 상속하는 다이아몬드 상속.
템플릿
이제 도 4 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 템플릿을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 페이지 템플릿(128)을 관리할 수 있는 템플릿 매니저(105)를 포함할 수도 있다. 예를 들어, 템플릿(128)은 편집되고 있는 정규 웹사이트의 일부가 아닌 페이지(또는 미니-페이지)의 특수 타입일 수도 있다. 템플릿(128)은 정규 페이지 내에 임베딩될 수도 있고, 이러한 페이지의 콘텐츠에 추가될 수도 있다; 추가적으로 또는 대안적으로는, 템플릿(128)은 새로운 페이지를 생성하기 위한 파운데이션으로서 사용될 수도 있다. 몇 가지 실시예들에서, 템플릿(128)의 이러한 기능 모두는 특정한 템플릿로부터 상속하는 페이지를 정의함으로써 구현될 수도 있다. 선택적으로, 페이지는 다수의 템플릿을 포함할 수도 있고, 이것은 모두 페이지의 콘텐츠와 함께 결합될 수도 있다.
WBS(100)는 또한 단일-컴포넌트 템플릿(129)을 지원할 수도 있는데, 이것은 단일 컴포넌트의 성질을 기술하고, 다른 템플릿 및 페이지를 구성하는 동안에 사용될 수도 있다. 페이지 템플릿(128)이 추가적 페이지-레벨 성질(예를 들어, 동적 레이아웃 앵커)을 가진 다수의 컴포넌트 템플릿으로서 보여질 수도 있다는 것에 주의한다.
몇 가지 구현형태들에서, WBS(100)는 후속하는 템플릿 타입을 가능하게 할 수도 있고 또는 이를 지원할 수도 있다: 페이지 템플릿(128); 단일-컴포넌트 템플릿(129); 목록 애플리케이션 템플릿(127); 및 뷰 템플릿(126). 위에서 설명된 템플릿들의 다양한 타입이 예시적인 목적을 위한 것이고, 광범위하게 상이한 범위 및/또는 복잡성 및/또는 특징을 가질 수도 있는 오브젝트에 관련된다는 것에 주의한다. 예를 들어, 목록 애플리케이션 템플릿은 완전한 애플리케이션 환경 또는 그것의 중요 부분, 예컨대 턴키 레스토랑 사이트(예를 들어, 도 21 에 도시된 바와 같은), 턴키 뉴스 보고 웹사이트, 또는 기타 등등을 기술할 수도 있다. 이와 같이, 목록 애플리케이션 템플릿은 다수의 아이템 타입, 아이템, 콜렉션, 뷰 및 페이지들을 포함할 수도 있다 - 이들 모두는 실제 웹사이트를 제작하거나 생성하도록 사용된다.
선택적으로, WBS(100)는 수정된 템플릿들이 베이스 템플릿으로부터 유도될 수도 있도록, 템플릿들 사이의 상속 관련성을 지원하거나 가능하게 할 수도 있다. 본 발명의 이러한 피쳐는 페이지와 템플릿(예를 들어, 하나 이상의 템플릿으로부터 상속되는 특정 페이지) 사이의 상속 관련성에 추가될 수도 있다.
아이템 타입
이제 도 5 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 아이템 타입을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 아이템을 기술하는 데이터 레코드 정의(예를 들어, 아이템 스키마)일 수도 있는 "타입" 또는 아이템 타입(135)을 관리할 수 있는 타입 매니저(106)를 포함할 수도 있다. 예를 들어, 예시적인 아이템 타입(135)은 필드(136)들(예를 들어 텍스트, 숫자, 이미지)의 세트를 포함할 수도 있다. 선택적으로, 하나의 가능한 필드 타입은, 아이템 계층성(부모를 향한 포인터를 통해서), 아이템 체인(다음 아이템을 향한 포인터를 통해서), 또는 다른 두 개 이상의 아이템들 사이의 아이템간 관련성을 생성하기 위하여 사용될 수도 있는 아이템(또는 아이템들의 세트)으로의 포인터(137) 이다. 또 다른 가능한 필드 타입은 태그-클라우드 유사 메커니즘을 통한 취출을 위하여 아이템을 마킹하기 위하여 사용되는 태그들(주어진 필드에 대한 태그들의 리스트로부터 선택됨)의 세트이다.
아이템 타입(135)은, 선택적으로 이들로 가해지는 추가, 삭제 및 수정과 함께 다른 아이템 타입(135)로부터 상속될 수도 있다. 예를 들어, "셔츠" 아이템 타입은 "의상" 아이템 타입으로부터 상속될 수도 있고 추가적 필드 "슬리브(단/장)"를 가질 수도 있다.
아이템 타입(135)의 풀은 콜렉션 레벨, 애플리케이션 레벨, 디자이너 레벨, 또는 WBS 레벨에서 정의될 수도 있다. 선택적으로, WBS(100)는 하나 이상의 적합한 레벨에서 하나 이상의 아이템 타입 풀(들)(138)을 지원할 수도 있다.
콜렉션 및 아이템
이제 도 6 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 콜렉션 및 아이템을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 아이템(145)의 하나 이상의 콜렉션(144)을 포함할 수도 있는 백-엔드 데이터베이스(143)를 포함하거나 이와 연관될 수도 있다. 각각의 콜렉션(144)은 하나 이상의 아이템(145)을 포함할 수도 있다. 각각의 아이템(145)은 특정 아이템 타입(136)과 연관될 수도 있다. 콜렉션은 균일하거나(예를 들어, 그 콜렉션의 모든 아이템들이 동일한 아이템 타입을 가짐); 또는 불균일할 수도 있다(예를 들어, 그 콜렉션 내의 아이템들 중 적어도 두 개가 두 개의 상이한 아이템 타입을 가짐). 예시적인 목적으로 도 6 이 데이터베이스(143)가 콜렉션(144) 및 아이템(145) 양자 모두를 포함하는 것을 도시한다는 것에 주의한다. 몇 가지 구현형태들에서, 하나의 콜렉션이 아이템들을 포함하기 때문에, 콜렉션 및 아이템(들)은 계층성 관련성을 가질 수도 있다.
콜렉션 업데이팅
아이템(145)의 콜렉션(144)은, 예를 들어 아이템(145)을 추가하거나, 아이템(145)을 삭제하거나, 및/또는 아이템(145)을 수정함으로써 업데이트될 수도 있다. 예를 들어, WBS(100)는 콜렉션(144)을 업데이트 또는 편집하기 위하여 사용자(예를 들어, 디자이너, 개발자, 웹사이트 작성자)에 의하여 사용될 수도 있는 자동적으로-생성된 스크린을 제공할 수 있는 콜렉션 매니저(146)를 선택적으로 포함할 수도 있다; 예를 들어, 레스토랑 목록 애플리케이션에 대한 콜렉션 업데이팅(예를 들어, 메뉴 / 섹션 / 요리의 추가, 삭제 또는 편집)을 지원하는 일 예시적인 UI인 도 22 에서 예시되는 바와 같다. 추가적으로 또는 대안적으로는, 개발자는 자기 자신의 콜렉션 업데이트 폼(들)(147)을 생성하고, 이들을 런-타임 콜렉션 업데이트를 위하여 최종-사용자에게 제공할 수도 있다.
몇 가지 구현형태들에서, WBS(100)는 생성된 웹사이트가 직접적으로 콜렉션 매니저(146) 및 업데이트 콜렉션(144)과 인터페이싱할 수도 있는 통로가 되는 프로그램적 인터페이스(예를 들어 콜렉션 업데이팅 API(148))를 제공할 수도 있다. 선택적으로, WBS는, 구성된 웹사이트를 통한 콜렉션(144)에 액세스할 필요가 없이 외부 애플리케이션(예를 들어 웹 애플리케이션, 모바일 애플리케이션, 데스크탑 애플리케이션, 클라우드-기초 애플리케이션, 또는 기타 등등)이 콜렉션(144)에 액세스하고 이것을 직접적으로 업데이트하게 하는 인터페이스(예를 들어, 콜렉션 업데이팅 웹 서비스(149))를 제공할 수도 있다. 몇 가지 구현형태들에서, WBS(100)는 주어진 콜렉션(144)에 부착될 외부 데이터 소스(예를 들어, RSS 피드)에 기초 콜렉션 업데이팅을 위한 인터페이스(150)를 제공할 수도 있고, WBS 자체는 인입하는 데이터 피드에 기초하여 콜렉션(144)을 업데이트하는 것을 담당할 수도 있다.
선택적으로, 콜렉션(144)은 이것이, 예를 들어 "가상 콜렉션(151)"으로서 외부 시스템 또는 데이터 세트 내에 존재하는 데이터를 표현(또는 포인팅)하도록 구성될 수도 있다. 이러한 경우에서, 하재(下在) 시스템 또는 데이터 세트 내의 변화는 자동적으로 가상 콜렉션(144) 내에 반영될 것이다.
링킹 컴포넌트
이제 도 7 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 링킹 컴포넌트들(LC'S)을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 링킹 컴포넌트(LC들)(152)를 포함하거나 이의 사용을 가능하게 할 수도 있는데, 이것은 LC 매니저(106) 모듈을 통해서 관리되거나 핸들링될 수도 있다. 각각의 LC(152)는 각각의 아이템과, 그리고 연관된 뷰를 통해서 하나의 아이템을 디스플레이하는 각각의 미니-페이지와 동적으로 또는 정적으로 연관된 뷰를 통해서 하나 이상의 콜렉션으로부터 획득된 아이템들을 디스플레이하는 복수-페이지 컨테이너의 특수 타입일 수도 있다. 구현형태는: (a) 언제나 단일 미니-페이지(및 관련된 아이템 및 이것의 연관된 뷰)를 디스플레이하는 LC(152); (b) 여러 미니-페이지를 동시에 디스플레이하는(예를 들어, 갤러리 또는 캐러젤 타입 컨테이너), 또는 연관된 뷰(들)를 통해서 보여줄 수도 있는(예를 들어, 각각의 뷰가 미니-페이지 내에 디스플레이될 수도 있게) LC(152)를 포함하는 LC(152)의 다수 개의 타입을 지원할 수도 있다. LC들(152)은 직접적으로(예를 들어, 이들을 페이지 또는 미니-페이지 내에 포함함으로써), 또는 이들을 보유하는 템플릿을 통해서(예를 들어, 템플릿 내에 포함될 수도 있는 다른 컴포넌트와 같이) 사용될 수도 있다. 단일 페이지 또는 미니-페이지는 다수의 LC들(152)을 포함할 수도 있다.
선택적으로, LC는: 특정 아이템과 직접적으로; 또는 단일 아이템의 콜렉션과; 또는 콜렉션들의 세트(예를 들어, 콘텐츠표와 유사한 구성을 사용하여 하나씩 또는 계층적으로 디스플레이될 수도 있음)와 연관될 수도 있다. 예를 들어(도 23 에 예시되는 바와 같이), 레스토랑 목록 애플리케이션(LA)은 계층적 메뉴 조직을 디스플레이하는 메뉴 LC를 사용하고 - 이를 통하여 "메뉴" 콜렉션(예를 들어, 현재 메뉴 명칭), "섹션" 콜렉션(예를 들어, "샐러드", "반찬 및 시작메뉴" 등과 같은 메뉴 섹션 명칭) 및 "요리" 콜렉션(예를 들어, 특정한 요리의 명칭 및 가격)으로부터의 아이템을 디스플레이할 수도 있다. 이러한 LC들은 본 명세서에서 복합 LC들이라고 지칭될 수도 있다.
몇 가지 구현형태들에서, 가상 미니-페이지 생성기(107)는 LC(152)와 연관된 하나 이상의 콜렉션(들) 내의 각각의 아이템에 대한 가상 미니-페이지를 자동적으로 생성할 수도 있다. 단일 LC(152)가, 그들 중 일부는 가상적이고 일부는 그렇지 않을 수도 있는 다수의 콜렉션과 연관될 수도 있다는 것은 분명하다. LC(152)가 디스플레이되면, 디자이너 및 사용자는, 예를 들어 스크롤 바 또는 네비게이션 버튼(예를 들어, 첫 페이지로, 이전의, 다음으로, 마지막 페이지로)을 사용하여 그 LC의 다수의 디스플레이된 미니-페이지들 사이를 수동으로 네비게이션할 수도 있다. 디자이너 및 사용자는 또한 본 명세서에서 상세히 설명되는 바와 같은 추가적 동작을 수행할 수도 있다.
본 발명에 따르면, WBS(100)는 LC(152)로의 직접적 링크를 가능하게 하는 LC 직접 액세스 모듈(153)을 포함할 수도 있고; 예를 들어, 페이지 보유 LC(들)가 URL을 사용하여 직접적으로 액세스되게 한다. 이러한 예시적인 직접 URL들은, 예를 들어:
www.MySite.com/prefix/MyPage.html?MyItem
www.MySite.com/prefix/MyPage.html?LC1=MyItem1&LC2=MyItem2
www.MySite.com/prefix/MyPage.html?LC1=MyFilterQueryString 일 수도 있다.
이러한 직접적 링크를 사용하면, WBS(100)가, 질의 및 파라미터가 정규 URL들에 추가되는 방식(예를 들어, PHP 프로그램에 의하여 처리되도록 전달되기 위하여)과 유사하게, 요청된 아이템을 이미 디스플레이하는 LC(들)(152)를 가지고, 또는 아이템을 필터링하기 위하여 사용되는 중인 주어진 질의를 가지고 특정 페이지(LC(들)(152)를 포함)가 열리게 될 수도 있다.
WBS(100)가 LC(152)를 포함하는 페이지를 URL-유래 질의의 결과를 디스플레이하는 LC(152)로써 여는 경우, LC(152)는 질의 결과를 질의 결과 구조(108)로서 디스플레이할 것이고, 이것이 상세하게 설명되거나 요약될 것이다. 결과 목록 자체는 반드시 페이지 또는 미니-페이지이어야 하는 것이 아니고, 오히려 WBS(100)에 의하여 정의되는 바와 같은 임의의 또는 선정의된 구성을 가질 수도 있다. 상세한 결과 목록은 다수의 미니-페이지(예를 들어, 발견된 각각의 결과에 대해 하나의 미니-페이지)를 선택적으로 포함할 수도 있다; 이것은 LC(152)가 언제라도 하나 이상의 미니-페이지를 디스플레이하는 정규 상황과는 상이하다.
선택적으로, WBS(100)는 이러한 직접적 링킹 또는 딥 링킹을 특정한 LC들(152)로, 또는 특정한 LC 타입들로 한정하도록 구성될 수도 있다. 예를 들어, LC 링킹 제약 모듈(154)은 LC들 또는 LC 타입들로의 직접적 링킹에 가해지는 제약 또는 제한사항을 정의하기 위하여 사용될 수도 있다; 그리고 이러한 LC 링킹 제약을 집행하는 것을 담당할 수도 있다.
몇 가지 구현형태들에서, WBS(100)는 위의 설명된 기능들에 액세스하기 위한 대안적 인터페이스(예를 들어 웹-서비스 기초 인터페이스, 또는 메시지-전달 기초 인터페이스)를 포함할 수도 있다.
WBS(100)는 선택적으로, 예를 들어: 필터 검색 박스만을 디스플레이함(결과는 다른 곳에 디스플레이됨); 결과 목록을 디스플레이함; 주어진 콜렉션 내의 아이템들을 취득하는 "태그 클라우드" 또는 태그의 태그를 디스플레이함과 같은 특정한 용도를 위한 전문화된 LC들(152)을 정의하고 이용할 수도 있다.
LC들(152)의 예시적 용도는 다음 중 하나 이상을 포함할 수도 있다: (a) LC(152)는 단일 선-규정된 탑-레벨 아이템과 직접적으로 연관된다(그리고 디스플레이한다)(도 24 참조); (b) LC(152)는 단일 선-특정된 탑-레벨 아이템과 직접 연관되고, 이러한 아이템을 하나 이상의 보유된 관련된 목록과 함께 디스플레이한다(동일한 또는 상이한 콜렉션으로부터의 관련된 아이템을 보여줌 - 도 23a 참조); (c) LC(152)는 필터링된 콜렉션(필터는 목록으로부터 아이템들의 주어진 세트를 선택함)과 연관되고, 아이템의 수동 선-선택 또는 실제 동적 질의를 구현한다.
목록 네비게이션(위에서 설명된 바와 같이)에 추가하여, WBS(100)는 목록이 LC(152) 내에 디스플레이될 때에 디자이너/사용자 승인 및 특권에 의존하여 활성화될 수도 있는 추가적 동작들을 가능하게 할 수도 있다. 이러한 추가적 동작은, 예를 들어: (a) 아이템 추가로 가기 형태(예를 들어, 본 명세서에서 설명된 바와 같이 아이템 추가 모드에서 사용되는 뷰); (b) 확장된 아이템 페이지로 가기; (c) 관련 목록으로 가기; (d) 아이템 편집으로 가기를 포함할 수도 있다.
이제 도 8 및 도 9 를 참조하는데, 이들은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰들(Views) 및 이러한 뷰들을 관리하는 모듈들을 예시하는 개략적인 블록-다이어그램 예시이다. 각각의 뷰(155)는 콜렉션으로부터의 아이템들을 디스플레이하기 위하여 사용되는 템플릿의 특수 타입일 수도 있다. 각각의 뷰(155)는 단일 아이템을 디스플레이한다; 반면에 다수의 아이템 디스플레이는 LC(152) 내의 다수의 뷰를 사용하여 획득될 수도 있다.
WBS(100)는 뷰 매니저(156)를 포함하고, 동일한 콜렉션 내의 상이한 아이템에 대한 상이한 뷰(155)의 이용을 가능하게 할 수도 있다. 예를 들어, 사용자가 다수의 포맷(예를 들어, 텍스트 엔트리, 이미지 엔트리, 비디오 엔트리)을 가지는 블로그 레코드들 사이에서 전환한다면, 디스플레이를 위하여 사용되는 뷰(155)는 아이템마다 변화되어 디스플레이된 포맷을 방법에 따라 변경할 수도 있다.
뷰(155)는 언제나 디스플레이된 뷰에 적용되는(또는 그 안에 포함되는) 고정된 뷰 엘리먼트(157); 및/또는 뷰 상태(159)와 연관될 수도 있는 조건부 뷰 엘리먼트(158)를 포함할 수도 있다. 예를 들어, 조건부 뷰 엘리먼트(158)는 다음: (a) 하재 아이템 내의 주어진 데이터 필드의 존재; (b) 하재 아이템 내의 주어진 데이터 필드의 값; (c) 데이터 필드 값들 및 그들 사이의 관련성을 수반하는 선-규정된 공식; (d) 디스플레이된 LC(152)의 파라미터(예를 들어 목록-타입 갤러리 내에 디스플레이하는 경우에만 주어진 필드를 디스플레이함); (e) 사용자 프로파일 또는 다른 소스로부터 획득되는 사용자의 속성(예를 들어 특정 필드를 조직 내의 내부 사용자에게만, 또는 어떤 영역 내에 위치된 사용자에게만 디스플레이함); (f) 사용 모드(예를 들어, 생성, 편집 또는 디스플레이를 위하여 사용되는 중인 뷰(155)임) 중 하나 이상에 의존할 수도 있다.
예시적인 구현예에서, 뷰(155)는 후속하는 엘리먼트: (a) 정규 또는 고정된 뷰 엘리먼트(157)(예를 들어, 페이지 타이틀, 배경 이미지); (b) 디스플레이된 아이템으로부터의 데이터로 채워지는 데이터 컴포넌트(162)(예를 들어, 판매용으로 제공되는 주택의 값, 이러한 주택의 이미지, 설명하는 텍스트); (c) 뷰 내에 관련된 목록을 디스플레이하기 위하여 사용되는 리피터 컴포넌트(163)(본 명세서에서 상세히 설명되는 바와 같음); (d) 디스플레이된 아이템으로부터의 콘텐츠에 기초하여 계산된 정보를 디스플레이하는 계산된 컴포넌트(164)(예를 들어 숫자 가격 필드로부터 취해지는 가격에 대한 부가가치세(VAT) 값); (e) 디스플레이 그것이 속하는 것(또는 그것의 속성)이 뷰 상태(159)에 의존하는 조건부 뷰 엘리먼트(158)(예를 들어 "오늘의 특선" 필드 내에 선정의된 값을 가지는 레스토랑 아이템에 대하여 디스플레이되는 색 리본); (f) 뷰 상태(159)에 의존할 수도 있는 데이터 인증 규칙(161); (g) 동적 레이아웃 규칙일 수도 있는 조건부 동적 레이아웃 엘리먼트(165) 및 뷰 상태(159)에 의존할 수도 있는 앵커 중 하나 이상을 포함할 수도 있다.
WBS(100)는, 추가, 삭제 및 변화가 인가되는 것과 함께, 뷰(155)가 하나 이상의 다른 뷰(155)로부터 상속하도록 하는 뷰 상속 모듈(166)을 포함할 수도 있다. 예를 들어, "셔츠" 뷰는 "의상" 뷰로부터 상속할 수도 있고, 추가적 컴포넌트 "슬리브(단/장)"을 가져서 이를 통하여 유도된 뷰(167)를 생성할 수도 있다.
비록 뷰 및 아이템들 모두가 필드-유사 서브-엔티티를 포함할 수도 있고 상속 관련성을 가질 수도 있지만(아이템들은 아이템 풀 내의 다른 아이템으로부터 상속하고, 뷰들은 뷰 풀 내의 다른 뷰로부터 상속함), 뷰 및 아이템 타입들이 상이한 엔티티들이고, 상이한 풀에 존재한다는 것에 주의한다. 아이템 타입은 어떤 필드가 아이템에 포함되는지를 정의하고, 반면에 뷰 정의는 어떻게 이러한 필드들이 디스플레이되는지를 정의한다. WBS(100)는 하재 템플릿-타입 정보 및 디스플레이되고 있는 특정 아이템에 기초하여 뷰들의 동적 구성을 가능하게 하는 동적 뷰 구성기(169)를 포함할 수도 있다.
뷰(168)들의 하나 이상의 풀(들)은 애플리케이션 레벨에서, 디자이너 레벨에서, 또는 WBS 레벨에서 구현될 수도 있다. 선택적으로, 특정 뷰(155)가 언제나 주어진 아이템 타입에(또는 그로부터 상속되는 아이템 타입에) 속하게 하도록, 뷰(155)는 아이템 타입들과 연관되도록 선정의될 수도 있다.
아이템 디스플레이를 위하여 뷰를 사용
WBS(100)는 아이템 디스플레이 모듈(170)을 포함할 수도 있는데, 이것은 선정의된 알고리즘에 의하여 아이템을 디스플레이할 수도 있다. 첫 째로, 아이템 디스플레이에 대한 매칭 뷰가 위치결정된다(또는 즉시 생성된다); 예를 들어, 아이템 디스플레이 모듈(170)은 아이템과 선-연관된 뷰, 또는 이용가능한 뷰의 풀을 검색함으로써 선택되는 뷰를 위치결정할 수도 있다; 그리고 적합한 뷰가 위치결정되지 않으면, 아이템 디스플레이 모듈(170)은 적합한 뷰를 "즉시" 아이템 정의에 기초하여 자동적으로 구성할 수도 있다. 둘 째로, 아이템 디스플레이 모듈(170)은 선택된 뷰의 작성된 버전을 다음에 의하여 생성할 수도 있다: (a) 각각의 데이터 컴포넌트를 아이템(가능하다면) 내의 필드로 매칭시키고 그러한 매칭 필드들의 콘텐츠를 사용하는 것;(b) 모든 계산된 컴포넌트들의 값을 결정하는 것; (c) 조건부 뷰 엘리먼트가 포함되어야 하는지 여부를 결정하는 것. 후속하여, 아이템 디스플레이 모듈(170)은 동적 레이아웃을 작성된 뷰에 수행하고, 이를 통하여 변화로부터 얻어지는 레이아웃 수정을 필드 콘텐츠, 조건부 뷰 엘리먼트, 또는 기타 등등에 적용할 수도 있다; 그리고 작성된 뷰를 디스플레이하도록 진행할 수도 있다.
프로세스는 다수의 콜렉션 아이템들에 대해서 수행될 수도 있다는 것에 주의한다; 예를 들어, 다수의 콜렉션 아이템들을 동시에 디스플레이하는 갤러리-타입 복수-페이지 컨테이너인 LC(152)를 디스플레이하는 경우에 그러하다.
리피터 컴포넌트, 및 뷰 내의 뷰의 사용
뷰(155)는 하나 이상의 리피터 컴포넌트(들)(163)를 포함할 수도 있다. 각각의 리피터 컴포넌트(163)는 일반적으로 LC(152)와 유사할 수도 있는데, 하지만 뷰(155) 내에 포함된다. 각각의 리피터 컴포넌트(163)는 주어진 목록을 디스플레이하고, 통상적으로 뷰(155) 내에 디스플레이되고 있는 메인 아이템에 관련되는 목록을 디스플레이할 수도 있다. 예를 들어, 사람 아이템은 다른 사람 아이템(예를 들어, 그 사람의 친구)에 그리고 차 아이템(예를 들어, 그 사람이 소유한 차)에 관련될 수도 있다. 사람 뷰는 이러한 목록("친구" 목록 및 " 차" 목록)을 디스플레이하는 두 개의 리피터 컴포넌트(163)를 포함할 수도 있다. 이러한 두 개의 리피터 컴포넌트(163)는 일차 사람 관람 LC(152) 내에 보여지고 있거나 하이라이트되는 현재 사람과 연관된 특정 목록을 디스플레이할 것이다. 리피터 LC들이 위에서 설명된 바와 같은(그리고 도 23a 에서 예시되는 바와 같은) 복합 LC들과는 구별되어야 한다는 것에 주의한다 - 리피터 LC들은 상이한 관련된 목록을 상이한 LC들 내에 디스플레이하는 반면에 복합 LC들은 단일 LC 내에 디스플레이된 다수의 목록을 포함한다.
특정 구성 파라미터에 의하여 덮어쓰기 되지 않는다면, 리피터 컴포넌트 디스플레이 모듈(171)은 리피터 컴포넌트(163)가 목록을 메인 컴포넌트를 디스플레이하기 위하여 사용되는 뷰(155)와 동일한 뷰 속성(예를 들어 명칭, 콘텍스트)을 사용하여 목록을 디스플레이하도록 보장할 수도 있다. 예를 들어, 타입 A에 대하여 XYZ라고 명명되는 뷰가 타입 A의 아이템을 디스플레이하도록 사용될 수도 있다; 타입 A의 아이템들 각각은 타입 B의 아이템들의 세트로 링크될 수도 있다; 타입 B 아이템들의 목록(관련된 현재 타입 A와 관련되는)은 리피터 컴포넌트(163) 내에서(다르게 구성되지 않으면 디폴트로서) 타입 B에 대하여 XYZ라고 명명되는 뷰를 사용하여 디스플레이될 것이다.
아이템 디스플레이를 위한 웹사이트 페이지 사용
본 발명의 몇 가지 실시예들에서, 아이템을 LC들 내에 디스플레이하기 위하여 사용되는 뷰들 대신에, 시스템은 웹사이트 페이지들이 뷰들인 것처럼 직접적으로 이용할 수도 있다. 이러한 경우에, 시스템은 연관된 아이템으로부터 취해진 데이터를 웹사이트 페이지 내에 포함된 데이터 컴포넌트 바로 안에 디스플레이할 수도 있다. 예를 들어, 디자이너는 정규 웹사이트 페이지 내에 데이터 컴포넌트를 포함할 수도 있고, 어떤 아이템으로부터 그들의 데이터가 취해져야 하는지를 특정할 수도 있다. 선택적으로, 웹페이지/뷰 컨버터(172)는 웹페이지를 뷰로서 이용하기 위한 변환 또는 조절을 구현하기 위하여 WBS(100) 내에 포함될 수도 있다.
데이터 소스로서 사용될 아이템은, 각각의 데이터 컴포넌트에 대하여 하나 이상의 적합한 방법으로 선택될 수도 있다; 예를 들어, 다음과 같은 후보 아이템들로부터 선택될 수도 있다: (a) 웹사이트 페이지와 특정하게 연관되는 아이템(따라서, 이러한 아이템이 현재 페이지로부터 상속하는 다른 페이지에서와 같이 변화된다면, 이것은 모든 데이터 컴포넌트에 영향을 줄 것이다); (b) 이러한 특정한 컴포넌트에 대하여 선-연관된 아이템; (c) 페이지 또는 컴포넌트 레벨에서 특정된 질의에 응답하는 아이템. 데이터 컴포넌트는 또한 직접적으로 사용될 데이터 필드를 특정할 수도 있고, 또는 필드 발견/질의 메커니즘을 사용될 수도 있다.
선택적으로, 이러한 페이지는 수동으로 구성된 페이지 세트 내에 상이한 아이템을 디스플레이하기 위하여 사용되도록, 구축되고 템플릿 내에 포함될 수도 있다. 디자이너는 오직 다른 아이템이 그 페이지와 연관될 때 어떤 컴포넌트가 변경될 것인지만을 특정하면 족할 수도 있다.
3-스테이지 프로세스
이제 도 10 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰 매칭/구성 및 작성(fill-out)의 3-스테이지 프로세스의 모듈들을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는, 예를 들어: (a) 디스플레이될 아이템(들)을 검색하고 위치결정할 수도 있고, 적합한 선정의된 뷰가 발견되지 않는다면 뷰를 동적으로 구성할 수도 있는 뷰-아이템 매칭 모듈(109A); (b) 뷰 필드 및 아이템들의 필드에 기초하여 작성된 뷰를 생성할 수도 있는 뷰 필러 모듈(109B); 및 (c) 동적 레이아웃을 작성된 뷰로 적용시킬 수도 있는 DL 적용기(109C)를 포함할 수도 있다.
스테이지 1: 아이템(또는 아이템 타입)에 대한 매칭 뷰를 위치결정함
이제 도 11 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰 위치결정(또는, 뷰의 아이템으로의 매칭)을 예시하는 개략적인 블록-다이어그램 예시이다. 이것은 위에서 언급된 3-스테이지 프로세스의 제 1 스테이지일 수도 있다.
아이템(들)에 대한 매칭 뷰의 위치를 결정하는 스테이지는, 예를 들어: (i) 뷰를 아이템과 및/또는 아이템 타입과 사전-연관시키기 위한 뷰 사전-연관 모듈(112A)에 의하여; (ii) 이용가능한 뷰들의 풀을 검색하기 위한 뷰 검색기 모듈(112B)에 의하여; 및/또는 (iii) 적합한 뷰를 "즉시" 동적으로 구성하기 위한 실시간 동적 뷰 구성기(112C)에 의하여 수행될 수도 있다.
뷰를 아이템과 및/또는 아이템 타입과 선연관시키기
이제 도 12 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰 선연관을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는, 뷰(또는 다수의 뷰)의 특정 아이템과 및/또는 특정 아이템 타입과의 사전-연관을 가능하게 하기 위하여 뷰 사전-연관 모듈(173)(이것은 위에서 언급된 뷰 사전-연관 모듈(112A)과 유사할 수도 있음)을 포함할 수도 있다. 이것은 특정 아이템 및/또는 아이템 타입의 생성 또는 편집 도중에, 또는 상속되는 아이템 및 아이템 타입의 생성 또는 편집 도중에 행해질 수도 있다.
단일 뷰 연관은 뷰를 임의의 주어진 아이템 타입과 명백하게 연관시킬 수도 있는 디자이너에 의하여 수행될 수도 있고, 이러한 연관은 주어진 아이템 타입을 가지는 모든 아이템에 대하여 사용될 것이다. 이러한 연관은 더 나아가 이들이 자기 자신의 명백하게 양도된 뷰를 가지지 않는다면 주어진 아이템 타입으로부터 상속되는 모든 아이템 타입에 대하여 사용될 수도 있다. 디자이너는 또한 뷰를 임의의 특정 아이템과 명백하게 연관시켜서, 이를 통하여 주어진 아이템의 아이템 타입과 연관된 뷰를 덮어쓸 수도 있다.
선택적으로, 속성-기초 사전-연관 모듈(113A)은 뷰가 속성 파라미터(113D)와 선-연관되게 할 수도 있다(더 나아가 이하 설명되는 바와 같은 콘텍스트-기초 연관, 타입-특정 명칭 및 상속-적응된 연관). 예를 들어, 속성-기초 사전-연관은 시스템이 일반적인 명칭, 콘텍스트, 클래스, 또는 다른 파라미터에 따라서 뷰들에 링크될 필요가 있을 때에 사용될 수도 있다. 속성-기초 사전-연관 모듈(113A)은 다음과 같이 속성-기초 사전-연관을 지원할 수도 있다: (a) 시스템이 뷰로의 특정 속성들을 정의한다(예를 들어 명칭, 콘텍스트); (b) 뷰 생성기가 값들을 이러한 속성에 지정한다; (c) 디자이너가(목록 및 뷰를 사용하여) 주어진 속성에 대한 값을 특정한다; (d) 뷰가 제공된 속성 값(예를 들어 명칭, 콘텍스트)에 기초하여 선택될 것이다.
예시적인 예에서, 시스템은 각각의 아이템 타입에 대하여 고유한, 각각의 뷰에 대한 명칭 속성(113E)을 포함할 수도 있다. 디자이너는 LC(또는 웹페이지)를 정의할 때에 사용할 뷰 명칭을 특정할 수도 있다. 각각의 아이템 타입에 대하여, 주어진 명칭을 가지고 주어진 아이템 타입과 연관되는 뷰가 사용될 것이다. 상이한 아이템 타입에 대해 동일한 명칭을 가지는 다수의 뷰들이 존재할 수도 있고; 따라서, 뷰 명칭을 특정하면 다수의 연관 관련성(예를 들어, 본 명세서에서 주목되는 바와 같이 리피터 컴포넌트에 대하여)을 실제로 생성할 수도 있다는 것에 주의한다.
다른 예시적인 예에서, 시스템은 콘텍스트 속성(113F)을 "썸네일-모드" 및 "줌-모드"의 가능한 값으로써 지정할 수도 있다. 디자이너는 주어진 LC(또는 리피터 컴포넌트 또는 웹페이지)에 대하여 뷰 선택을 위한 콘텍스트를 특정할 수도 있고(예를 들어, 썸네일-모드 또는 줌-모드), 그리고 선택된 뷰(각각의 타입에 대한)는 주어진 콘텍스트를 가지는 뷰일 것이다. 예시적인 예들이 도 23a 및 도 25 에 도시되는데, 이들은 동일한 레스토랑 목록 애플리케이션을 보여주고 이것은 3 개의 콜렉션인 메뉴, 섹션 및 요리(및 매칭 아이템 타입)를 포함한다. 그러나, 3 개의 타입들의 각각과 연관되는 다수의 뷰들이 존재하고, 이들은 각각의 레이아웃이 3 개의 타입들 각각에 대한 특정 뷰를 정의하는 레이아웃들로서 구현된다. 이러한 도면에서 볼 수 있는 바와 같이, 사용자는 레이아웃을 레이아웃 선택 영역 내에서 선택할 수도 있고(예를 들어 도 23b 에서 레이아웃 [x] 그리고 도 25 에서 레이아웃 [y]) 이것은 3 개의 아이템 타입들 각각에 대하여 사용되는 뷰에 영향을 준다. 레이아웃 명칭/코드는 이러한 경우에 콘텍스트 변수로서의 역할을 한다.
대안적으로는, 다수의 뷰들은 주어진 아이템 또는 아이템 타입과 명백하게 연관될 수도 있다. 이러한 경우들에서, 조건부 선택기 모듈(173B)은 연관된 뷰들 중 하나가 선택되는 하나 이상의 조건을 정의 및/또는 집행할 수도 있다. 이러한 조건들은, 예를 들어: (a) 아이템을 디스플레이하기 위하여 사용되는 LC의 타입(예를 들어, 대면적 컨테이너는 상세뷰(많은 필드를 디스플레이함)를 사용하는 반면에 갤러리 타입 컨테이너는 썸네일과 설명 텍스트만을 포함하는 더 작은 뷰를 사용할 수도 있음); (b) 디스플레이되고 있는 아이템 내의 특정 "선택기" 필드의 콘텐츠; (c) 그 콜렉션에 액세스하는 사용자의 아이덴티티, 또는 액세스하는 사용자의 사용자 프로파일 내의 특정한 성질(예를 들어, 온라인 스토어 피용자는 방문하는 손님 사용자에 비하여 추가 필드 내에 더 많은 정보를 볼 수 있을 수도 있음)을 포함할 수도 있다.
선택적으로, 기능당 뷰 연관 모듈(173C)은 상이한 기능들에 대하여 상이한 뷰들을 연관시키기 위하여 사용되고, 이러한 연관을 집행할 수도 있다. 예를 들어, WBS(100)는 아이템 보기(viewing), 아이템 생성, 및 아이템 업데이팅에 대하여 상이한 뷰들을 지정할 수도 있다. 디자이너는 이러한 뷰들을 정의할 수도 있고, 또한 주어진 뷰가 다수의 기능들에 대하여 사용될 것(예를 들어, 아이템 생성 및 아이템 업데이팅 모두를 위하여 사용될 것)을 특정할 수도 있다.
이용가능한 뷰들의 풀의 검색
이제 도 13 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰 검색을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 뷰 풀 검색기(174)(뷰들의 풀(들)을 검색하기 위한 검색기 모듈)를 포함할 수도 있는데, 이것은 매칭 뷰를 위치결정하기 위하여 뷰 풀에 대한 검색 질의를 실행할 수도 있다. 적용가능한 뷰 풀은, 임의의 적합한 레벨, 예를 들어 시스템 레벨, 애플리케이션 레벨, 아이템 콜렉션 레벨, 또는 아이템 타입 레벨에서 정의될 수도 있다. 이것은 또한 여러 풀들(예를 들어, 상이한 레벨에서 정의된)의 조합일 수도 있다.
뷰 풀 검색기(174)는 하나 이상의 적합한 질의 타입, 예를 들어 키워드 기초, 필드 매칭, 속성 매칭, 애플리케이션-관련 파라미터, 또는 질의의 다른 적합한 타입을 이용할 수도 있다. 뷰 풀 검색기(174)는, 예를 들어 특정 조건을 뷰 속성에 적용하면서 매칭 필드를 가지는 뷰들 사이에서 선택하기 위하여, 두 개 이상의 질의 방법을 결합할 수도 있다.
키워드-기초 뷰 검색기(174A) 모듈 또는 서브-모듈을 사용하여 구현될 수도 있는 키워드 기초 뷰 검색에서, 아이템 타입 및 뷰 양자 모두는 부착된 또는 연관된 키워드(예를 들어, 선정의된 목록으로부터 선택될 수 있는 하나 이상의 키워드)를 가질 수도 있다. 매칭 알고리즘은 아이템 타입 키워드 목록이 있는 최대 키워드 매칭을 가지는 뷰들을 위치결정하려고 시도한다.
필드 매칭 뷰 검색에서, 필드 매칭 검색기(174B) 모듈 또는 서브-모듈은 아이템 내의 필드들의 세트에 최선으로 매칭하는 컴포넌트 세트를 가지는 뷰에 대해서 검색할 수도 있다. 매칭은 필드 명칭, 속성, 또는 특수 매칭 ID들에 따라서 수행될 수도 있다. 매칭의 그레이딩(grading) 또는 스코어링 또는 랭킹은 스코어링 / 랭킹 모듈(175)에 의하여, 예를 들어 매칭 필드들의 개수를 비교함으로써, 또는 가중된 점수를 계산하기 위하여 필드당 가중치를 사용함으로써 수행될 수도 있다.
선택적으로, 필드 데이터 사전(176)은 아이템 타입 필드 및 뷰 컴포넌트 양자 모두의 생성을 위하여 정의되고 사용될 수도 있다(예를 들어, 시스템 레벨, 애플리케이션 레벨, 또는 다른 레벨에서). 매칭은 필드 데이터 사전(176)을 사용하여, 예를 들어 매칭하는 하재 데이터 사전 필드를 가지는 뷰 컴포넌트 및 아이템 필드를 위치결정하기 위하여 사전 검색기(177)를 이용함으로써 행해질 수도 있다.
속성-기초 검색기(178)는 속성-기초 검색을 수행할 수도 있다. 예를 들어, 뷰들은 뷰를 아이템에 매칭하는 것을 보조하기 위하여 그들로 지정된 추가적 속성을 가질 수도 있다. 아이템 타입(또는 아이템)은 어떤 뷰들이 이러한 아이템에 대한 최선의 매칭 인지 뷰 속성들 중 하나 이상에 기초하여 선택하기 위하여, 관련된 또는 이용가능한 뷰에 적용되는 질의(적합한 질의 또는 표현 언어를 사용함)를 포함할 수도 있다. 질의 완전하게 특정될 수 있고(예를 들어, 모든 조건들을 포함), 또는 하나 이상의 파라미터, 예를 들어: (a) 아이템-특정 값(예를 들어, 질의는 아이템 타입 레벨에서 규정되지만 아이템에 의하여 채워지는 특정한 파라미터를 가짐); (b) 아이템 데이터 필드 값(예를 들어, 특정 아이템 내의 데이터 필드에 기초하는 파라미터); (c) 예를 들어 LC 크기 및 컨테이너-타입이 어떤 뷰 크기가 최적인지를 결정할 수도 있게 하는 LC 타입(예를 들어, 뷰가 디스플레이되어야 하는 특정한 LC에 의존하는 파라미터); 및/또는 (d) 일반적 환경 값(예를 들어, 사용자 분류 및 특권)을 포함하도록 파라미터화될 수도 있다. 속성-기초 검색은 위에서 설명된 뷰 속성 사전-연관(예를 들어, 명칭 / 콘텍스트를 통한)의 일반화된 버전으로서 구현될 수도 있다.
선택적으로, 뷰 및 아이템 타입 매칭은, 애플리케이션-관련된 파라미터 검색기(179)를 사용하여 기초하여 애플리케이션-관련된 파라미터에 기초하여 수행될 수도 있다. 따라서 뷰 검색은 애플리케이션-관련 파라미터를 고려할 수도 있다; 예를 들어, 상이한 뷰들이 필터 질의 결과 내의 첫 번째 및 마지막 아이템에 대하여 동적으로 선택될 수도 있다. 이러한 방법으로, "다음" 및 "이전" 네비게이션 버튼이 필요에 따라 동적으로 디스플레이될 수도 있다.
다수의 매칭 결과 핸들러(180)가 다수의 결과를 핸들링할 수도 있는데, 이는 위에서 설명된 매칭 기법들 중 일부가 특정 아이템의 디스플레이를 위한 다수의 후보 뷰들을 제공할 수도 있기 때문이다. 이러한 경우에, 매칭 등급결정(예를 들어, 검색 엔진 랭킹과 일반적으로 유사함)이 후보 결과들 중에서 사용할 최선의 뷰를 선택하기 위하여 사용될 수도 있다. 더욱이, 다수의 매칭 결과 핸들러(180)는 발견된 최선의 매칭을 사용하도록 선택할 수도 있는데, 하지만 후보 뷰들의 목록을 유지할 수도 있고, 그리고 사용자가 발견되었던 다른 뷰 후보들 중 하나를 이용하기 위하여 디스플레이를 전환하게 하는 GUI 엘리먼트를 제공할 수도 있다.
폴백 핸들러(fallback handler; 181)는 부모 아이템 타입으로의 폴백을 보장할 수도 있다. 예를 들어, 아이템 타입은 다른 아이템 타입 및 수정들의 세트에 기초하여 상속 프로세스를 통해 생성될 수도 있다. 만일 주어진 아이템 및 아이템 타입에 대하여 결과가 발견되지 않았다면(또는 "양호한" 결과가 없거나, 또는 고-품질 매칭, 또는 고-스코어링 매칭이 없으면), 폴백 핸들러(181)는 동일한 아이템 데이터 값(관련된다면)을 사용하여 매칭 프로세스를 재실행하도록 명령하지만 현재 아이템 타입의 부모인 아이템 타입을 사용할 수도 있다. 예를 들어, "셔츠" 아이템 타입은 부모 아이템 타입 "제품"으로부터 유도될 수도 있다; 만일 타입 "셔츠"의 아이템에 대한 매칭 뷰(또는 고-스코어링 매칭 뷰)가 없다면, 매칭 프로세스는 이번에는 아이템 타입 "셔츠"보다 부모 아이템 타입 "제품"을 사용하여 자동적으로 반복될 수도 있다.
동적 뷰 구성
이제 도 14 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 동적 뷰 구성을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 현존 뷰들의 풀을 검색하는 대신에 또는, 현존 뷰의 풀을 검색하는 것에 추가하여(예를 들어, 뷰들의 현존 풀 내에 매치가 발견되지 않거나; 또는 낮은-스코어링 매치만이 발견된다면) 아이템 필드를 디스플레이하기 위하여, 요구되거나 선호될 수도 있는 바와 같이 하나 이상의 뷰를 "즉시" 동적으로 생성하기 위한 동적 뷰 구성기(182)를 포함할 수도 있다. 자동적 뷰 구성 지시는 필드 정의와 함께 선정의되거나 제공될 수도 있다.
예시적인 구현예에서, 예를 들어, 동적 뷰 구성기(182)는 단지 디스플레이 영역을 다수의 영역들로 분할하는, 뷰내 영역 분할기(182A) 모듈 또는 서브-모듈을 사용하여 구현되는 다수 개의 추상적인 일반적 뷰 템플릿을 구현할 수도 있다. 각각의 아이템 타입은 이러한 일반적인 템플릿이 어떤 것을 사용할지를 특정할 수도 있다. 각각의 필드는, 예를 들어 필드가 그 안에 배치될 영역, 및 필드가 어디에(예를 들어, 상단 좌측, 하단 중앙) 추가되어야 하는지를 표시하는 정렬 코드, 및 필드가 그 영역의 동일한 범위 안에서 어떻게 이전의 필드(들)와 관련될 수도 있는지(예를 들어, 이전 필드 이후에; 새 라인으로; 아래에 위치하지만 동일한 방식으로 좌측으로 정렬되어)를 특정할 수도 있다. 또한 필드는 동적 레이아웃 타입 앵커 또는 다른 레이아웃 규칙(예를 들어, 두 개의 특정 필드가 수직으로 정렬돼야 한다고 특정함)을 특정할 수도 있다. 따라서 동적 뷰 구성기(182)는 제공된 지시 및 규칙에 기초하여 자동적으로 각각의 아이템 타입에 대한 적합한 뷰를 생성할 수도 있다. 이것은 데이터 엔트리 폼, 업데이트 폼, 및/또는 다른 폼의 자동 생성을 위하여 특히 유용할 수도 있다.
통합 뷰 검색 / 동적 구성
위에서 설명된 바와 같이, WBS(100)는 뷰를 위치결정할 수도 있고(사전-연관 또는 검색을 사용하여) 또는 뷰들을 동적으로 생성할 수도 있다. 더욱이, WBS(100)는 베이스 뷰를 위치결정하고 이것을 확장시키거나(필요한 경우) 그렇지 않으면 위의에서 지적된 동적 뷰 구성 기법(예를 들어, 랜딩 존)을 사용하여 이것을 수정함으로써(위치결정된-뷰 수정기 모듈(182B)을 통해서) 두 개의 방법들을 통합할 수도 있다. 이것은 검색기/구성기 모듈(183)을 사용하여 구현될 수도 있고, 상대적으로 고정된 베이스 포맷(및 필드들의 세트)을 가지는 아이템들에 대해서는 특히 유용할 수도 있는데, 이것은 또한 동적으로 추가되는 추가적 필드(예를 들어, 선택 필드가 있는 RSS 피드)를 가진다.
뷰 선택 및 다형성 디스플레이
이제 도 15 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰 선택 및 다형성 디스플레이를 예시하는 개략적인 블록-다이어그램 예시이다. 몇 가지 경우들에서, 다수의 뷰(예를 들어, 뷰(155A, 155B 및 155C)가 동일한 아이템을 보기 위하여 이용가능할 수도 있다. 이것은, 예를 들어 다수의 뷰를 동일한 아이템(또는 아이템 타입)과 연관시키는 디자이너 때문에, 또는 다수의 매칭 뷰에서 결과로서 나타나는 뷰 선택 질의 때문에 발생할 수도 있다. 가능한 매칭 뷰들의 세트는 사전에 공지될 수도 있고(예를 들어, 이들이 아이템과 선-연관된다면), 또는 동적으로 결정될 수도 있다(예를 들어, 매칭 질의를 사용하여 위치결정되는 뷰들의 경우).
이러한 경우들에서, WBS(100)는 디자이너에게, 예를 들어 다음과 같은 하나 이상의 옵션을 제공할 수도 있다: (a) 우선순위 값을 다양한 뷰에 부착시키기 위하여(이들이 사전에 공지된다고 가정함) 뷰 우선순위 매니저(184A)를 이용하여 WBS(100)가 최고 우선순위 값을 가지는 뷰를 선택하게 하는 것; (b) 애플리케이션이 사용할 정확한 뷰를 선택하도록 할 훅 또는 콜백을 애플리케이션 안에 정의하기 위하여 훅 / 콜백(hook/callback) 매니저(184B)를 사용하는 것; (c) 다수의 뷰 옵션을 최종-사용자에게 노출시켜서 그 또는 그녀가 주어진 아이템에 대하여 사용될 뷰를 선택하게 하도록 최종-사용자 선택 UI 생성기(184C)를 사용하는 것(예를 들어, 디폴트 뷰를 사용하고 "뷰 변경" 드롭 다운 메뉴 또는 콤보 박스 위젯을 디스플레이 내에 포함시킴).
제 1 의 예시적인 예에서, 뷰 선택 일관성 집행기(184D)는 뷰 선택이 일관적이라는 것을 보장할 수도 있다. 예를 들어, 아이템 디스플레이는 통상적으로 최종-사용자가 콜렉션 내의 디스플레이된 아이템을 따라 내려가도록 한다(예를 들어, 이전 또는 다음 아이템으로 네비게이션함). 디스플레이된 아이템은 그들을 디스플레이하기 위하여 사용되는 상이한 뷰들을 가질 수도 있다. 뷰 선택 일관성 집행기(184)는 디자이너가 주어진 아이템 타입을 디스플레이하기 위한 뷰의 선택이 일관적이라는 것을 특정하게 할 수도 있다. 이에 상응하여, 최종-사용자가 콜렉션 내의 아이템들을 거쳐서 이동하고, 동일한 아이템 타입으로 복귀하면, 그것을 재사용할 특정한 이유(보여지는 아이템에 대한 별개의 분리된 뷰 연관성)가 있지 않다면 동일한 뷰(다수의 가능한 뷰들 중에서)가 사용될 것이다.
제 2 의 예시적인 예에서, 다형성 디스플레이 생성기(185)는 다형성 디스플레이를 가능하게 할 수도 있다. 예를 들어, 최종-사용자는 아이템을 디스플레이하기 위하여 LC에 의하여 사용되는 메인 디스플레이 타입(예를 들어, 복수-페이지 컨테이너 타입)을 변경함으로써 뷰의 선택에 영향을 줄 수도 있다. 디자이너는 최종-사용자가, 주어진 목록이 "목록 모드"(아이템 당 정보의 한 두 줄을 디스플레이함) 또는 "페이지 모드"(주어진 아이템으로부터의 정보의 전체 페이지를 디스플레이함) 중 어느 것에서 보여질 것인지를 결정하도록 할 수도 있다. 이와 유사하게, 디자이너 최종-사용자가 그리드-타입 갤러리(그리드에서 정렬되는 아이템을 표시함)와 슬라이더-타입 갤러리(아이템들을 슬라이드쇼-유사 정렬상태로 표시함) 사이에서 LC 디스플레이를 전환하게 할 수도 있다. LC 디스플레이 모드의 선택은 디스플레이를 위하여 선택되는 뷰에도 역시 영향을 줄 수도 있다. 다형성 디스플레이 생성기(185)는 사용자가 디자이너가 이러한 목적을 위하여 사전에 지정한 다수의 뷰들(또는 LC 디스플레이들) 사이에서 전환하도록 보장하기 위하여 사용될 수도 있다.
스테이지 2: 뷰 및 아이템의 필드에 기초하여 작성된 뷰를 생성
이제 도 16 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 작성된 뷰 생성을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 매칭된 뷰 또는 동적으로-구성된 뷰의 작성된 버전을 생성하기 위하여, 작성된 뷰 생성기(186)를 포함할 수도 있다. 작성된 뷰가 동적으로 아이템에 의하여 공급되는 데이터에 기초하여 구성되는, 뷰 엔티티의 한 예일 수도 있다는 것이 명백하다.
제 1 작성된 뷰 생성기(186)는 뷰 내의 각각의 데이터 컴포넌트를 아이템 타입(및 하재 아이템)의 매칭 필드로 매핑하기 위하여, 뷰-필드 매칭 모듈(186A) 또는 서브-모듈을 이용할 수도 있다. 이것은, 예를 들어 후속하는 방법들 중 하나 이상을 사용하여 행해질 수도 있다: (a) 디자이너에 의한 명시적 사전-연관; (b) 뷰 컴포넌트 및 아이템 필드에 의하여 사용되는 공통 명칭; (c) 특수 연관 ID; (d) 뷰 컴포넌트 및 아이템 필드로 지정된 매칭 키워드에 대한 질의; (e) 매칭 아이템의 필드 내에서 선-특정된 속성을 검색하는 데이터 컴포넌트에 대하여 정의되는 질의. 비-데이터 컴포넌트(예를 들어, 타이틀 텍스트)에 대하여, 이러한 매칭은 요구되지 않을 수도 있다.
누락 필드 핸들러(187)는 매칭 아이템 필드가 발견되지 않았던 뷰 필드(콘텐츠로 채워져야 함)인 누락 필드를 핸들링할 수도 있다. 예를 들어, 매칭 필드가 발견되지 않았다면, 누락 필드 핸들러(187)는 적합한 텍스트 또는 이미지를 뷰 컴포넌트(데이터 컴포넌트 자체에 의하여 또는 WBS(100)에 의하여 제공됨)의 자리에 디스플레이할 수도 있다. 이것은 디자인-시에 또는 런-타임 도중에 발생할 수 있다(예를 들어, 아이템들이 RSS 피드들에 의하여 제공되고 몇몇 필수 필드들이 누락될 수도 있는 경우). 선택적으로, 비간섭(unobtrusive) 메시지 또는 낮은-키 경고 메시지가 제공되거나 디스플레이되거나 로그될 수도 있다(logged). 도시된 실제 디스플레이 메시지는 호 또는 사용자 로그인을 위하여 사용되는 URL에 의존할 수도 있어서; 예를 들어, 디자이너가 더 포괄적인 메시지를 수신할 수도 있게 할 수도 있다.
만일 컴포넌트가 앵커 또는 다른 DL-관련된 연관을 가진다면, 누락 필드 핸들러(187)는 컴포넌트를 제거하지 않을 수도 있고, 오히려 이것을 제로 사이즈로 리사이징하기 위하여 컴포넌트 리사이징 모듈(187A)을 이용할 수도 있다. 만일 컴포넌트가 앵커 또는 다른 DL-관련된 연관을 가지지 않는다면, 누락 필드 핸들러(187)는 그 컴포넌트를 이것에 부착된 임의의 레이아웃 관련 스페이서와 함께 제거하여, 추가된 만일 필드가 존재했다면 추가됐을 여분의 공간이 존재하지 않게 할 수도 있다.
제 2 작성된 뷰 생성기(186)는 모든 계산된 컴포넌트의 값을 결정하기 위하여, 예를 들어 특히 데이터 컴포넌트에 채워진 값을 포함하여 필들의 값에 기초하여 계산된, 컴포넌트 값 계산기(186B)를 이용할 수도 있다. 제 3 작성된 뷰 생성기(186)는 조건부 컴포넌트가 포함되어야 하는지 여부를 결정할 수도 있다; 예를 들어, 뷰는 그것의 포함 여부가 하나 이상의 조건에 의존하는 조건부 컴포넌트를 보유할 수도 있다.
스테이지 3: 동적 레이아웃을 작성된 뷰에 적용
이제 도 17 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 작성된 뷰에 대한 동적 레이아웃 및 조절을 예시하는 개략적인 블록-다이어그램 예시이다. 예를 들어, DLM(101)은 DL 처리를 작성된 뷰에 기초하여 LC 또는 LC들을 포함하는 완료 페이지(또는 미니-페이지)에 적용할 수도 있다. 이러한 DL 처리는 작성된 뷰에 대하여 사용할 최선의 디스플레이 크기를 결정하는 것과 공동으로 행해질 수도 있다.
DL 처리는, 예를 들어 다음으로부터 유래하는 특정한 DL 규칙(101A) 및/또는 DL 앵커(101B)를 고려할 수도 있다: (a) LC를 포함하는 하재 아이템; (b) 뷰 정의 내에 포함되는 고정된 DL 정보; (c) 특정된 뷰 상태에 의존하여 적용가능한 뷰 정의 내에 포함되는 조건부 DL 정보.
DL 처리는 그 LC를 포함하는 전체 페이지에 영향을 줄 수도 있다. 예를 들어, LC가 그 안에 주어진 텍스트 필드가 현재 디스플레이된 아이템보다 더 큰 새 아이템을 보기 위하여 사용된다면, DLM(101)은 전체 디스플레이된 미니-페이지(그 뷰를 포함하는 것)가 커지거나 크기가 증가하게 하여, 이를 통하여 LC가 커지게 하고 보유 페이지 내에서의 컴포넌트의 이동 또는 재위치결정이 일어나게 할 수도 있다.
DLM(101) 애니메이션 및 전환 효과를 적용함으로써, LC 내의 아이템들(및 가능하게는 뷰들)의 스위칭으로부터 발생하는 변화가 급격한 변화보다는 부드러운 애니메이션된 변화를 통해서 제공되게 할 수도 있다.
뷰의 디스플레이 크기의 결정 및 조절
특정 작성된 뷰 인스턴스에 의하여 요구되는 디스플레이 영역은 변동할 수도 있고, 뷰 디스플레이-크기 조절기(188)에 의하여 결정 및/또는 조절(예를 들어, 수정)될 수도 있는데, 이는 그 뷰 내의 데이터 컴포넌트(예를 들어, 텍스트, 이미지)가 그 뷰의 상이한 인스턴스에 대한 상이한 양의 데이터를 포함할 수도 있기 때문이다. 뷰는 통상적으로 이것을 위하여 정의되는 크기를 사용하여 WBS(100) 내에 디스플레이된다. 그러나 몇 가지 경우들에서, 크기는 특정한 스크린, 브라우저 또는 디바이스 구성에 맞춰 최적화될 수도 있다. 이러한 경우들에서, 뷰 디스플레이-크기 조절기(188)는 특정한 작성된 뷰 데이터를 고려하면서 그 뷰에 할당된 영역을 조절할 수도 있다.
예를 들어, 뷰 폭에 있어서의 변화는 뷰 높이에 영향을 줄 수도 있다. 특히, 더 좁은 영역(수평으로)에 맞춤되기 위하여 요구되는 텍스트 디스플레이 컴포넌트는 동일한 양의 텍스트를 디스플레이하기 위하여 수직으로 커질 수도 있다(예를 들어, 더 많은 줄로 나뉘어짐).
뷰 디스플레이-크기 조절기(188)는 최선의 외관상 만족스러운 결과를 위하여 디스플레이된 뷰를 최적화할 수도 있다. 예를 들어, 뷰 디스플레이-크기 조절기(188)는 그 뷰에 대한 최선의 크기(및 결과적인 레이아웃)를 찾고, 다음의(상충될 수 있음) 타겟들에 대하여 하나 이상을 달성하거나 최적화하려고 시도한다: (a) 디스플레이된 뷰가 애플리케이션에 대한 브라우저 디스플레이 윈도우에 가능한 한 근접한 종횡비를 가지게 하는 것; (b) 전체 뷰를 보기 위해서 요구되는 스크롤의 양을 최소화하는 것(예를 들어, 이것이 수직 아래로 확장하여 스크롤을 요구한다면); (c) 그 뷰에 대하여 규정된 모든 DL 규칙 및 앵커에 따르는 것.
예시적인 구현형태에서, 뷰 디스플레이-크기 조절기(188)는 다음 동작을 수행할 수도 있다: (a) 원래의 뷰 인스턴스 폭을 얻어내는 것; (b) 원래의 폭으로부터 시작하여 선정의된 값 파라미터(예를 들어, 100 개의 픽셀)까지 아래로 내려가서 가능한 "타겟 폭"들의 세트(예를 들어, 크기들 사이의 최소의 차분만큼 세트 크기를 한정함으로써 계산됨)를 생성하도록, 가능한 타겟 폭들의 세트를 생성하기 위하여 타겟 폭 생성기(188A)를 이용하는 것; (c) 타겟 폭들의 각각에 대하여 뷰 인스턴스에 대해 DL 계산을 수행하고, 타겟 폭들 각각에 대한 결과적인 높이를 획득하는 것; (d) 타겟 폭 선택기(188B) 모듈 또는 서브-모듈을 사용하여, 감싸는 페이지 디스플레이 윈도우의 종횡비에 가장 근접하지만 이용가능한 스크린 높이를 초과하지 않는 결과적인 높이-폭 세트를 찾아내고 선택하는 것; (e) 타겟 폭들 각각에 대하여, 높이가 이용가능한 스크린 높이를 초과한다면, 최소 높이를 가지는 타겟 폭을 선택하는 것.
뷰 수정 및 유도된 뷰
뷰 수정 모듈(189)은 디자이너가 디스플레이된 컴포넌트를 추가, 삭제 및/또는 수정함으로써 뷰를 수정하도록 할 수도 있다. 시스템은 디자이너가 수정을 "제자리에" 적용하게 하거나(예를 들어, 이것을 사용하는 실제 뷰 및 모든 아이템에 영향을 줌), 또는 편집된(수정된) 뷰로부터 유도된(상속된) 뷰를 생성하게 할 수도 있다.
유도된 뷰는 부모 뷰의 상속-기초 변형물(variant)라고 간주될 수도 있다. 예를 들어, "셔츠" 뷰는 "제품" 뷰의 유도된 자식이지만, 추가적 "컬러" 속성/필드를 가질 수도 있다. 만일 뷰가 주어진 아이템 타입(또는 타입)과 연관된다면, 유도된 뷰의 생성은 연관된 콜렉션 또는 다른 콜렉션 내에 아이템을 생성하기 위하여 사용될 수도 있는, 유사하게 수정된 아이템 타입(또는 타입)을 역시 생성할 수도 있다.
본 발명에 따르면, WBS(100)는 주어진 뷰가 아이템에 관련된다면 이것을 사용할 수도 있다; 만일 이것이 가능하지 않으면, WBS(100)는 상속 트리(또는 상속 체인)를 따라 올라가기 위하여 부모 뷰 검색기(190)를 호출할 수도 있고 주어진 아이템을 디스플레이하기 위하여 더 높은 레벨 뷰(들)를 사용할 수도 있다. 몇 가지 구현형태들에서, 매칭 뷰가 발견되지 않으면, WBS(100)는 아이템 타입 상속 트리를 따라서 올라갈 수도 있다(예를 들어, 폴백 핸들러(181)를 사용함); 반면에, 다른 구현형태들에서, 매칭 뷰가 발견되지 않으면, WBS(100)는 뷰 상속 트리를 따라 올라갈 수도 있다(예를 들어, 부모 뷰 검색기(190)를 사용함). 다른 구현형태 양자 모두의 방법의 조합을, 어떤 매칭 방법이 선호되는지 또는 어떤 매칭된 결과가 선호되거나 이용되어야 할지를 결정하기 위한 메커니즘과 함께 이용할 수도 있다.
생성된(수정된) 뷰는 다른 아이템을 위해서도 역시 이용가능하다. 유도된 뷰가 생성되거나 수정되면, 이것은 현존 아이템 또는 아이템 타입에 적용될 수도 있다(또는 이것과 선연관될 수도 있다).
WBS(100)는 역 옵션을 제공하여, 디자이너가 유도된 타입을 생성하고 WBS(100)가 매칭하는 유도된 뷰를 역시 자동적으로 생성하기 위하여 유도된 뷰 생성기(191)를 자동적으로 호출하게 할 수도 있다; 예를 들어, 유도된 뷰를 유도된 타입에 기초하여 생성한다(다른 방법 대신에).
디자이너는 단일-컴포넌트 템플릿에 기초하여 새 컴포넌트를 생성할 수도 있다. 뷰 생성기는 이러한 단일-컴포넌트 템플릿을 생성된 뷰와 함께 더 포함할 수도 있고, 이러한 컴포넌트 템플릿은 템플릿을 수정하고자 하는 디자이너에게 제안될 수도 있다.
컴포넌트 랜딩 존
이제 도 18 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 랜딩 존 배치 및 수정을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 랜딩 존을 지원하여, 뷰에 추가된 새 컴포넌트가 랜딩 존 배치 모듈(192)에 의하여 그 뷰 내에서 자동적으로 또는 반자동적으로 배치될 수도 있게 할 수도 있다. 뷰 디자이너 뷰 템플릿 내에 다수 개의 랜딩 존을 정의할 수도 있다. 예를 들어, 컴포넌트들은 다수의 열로 정렬될 수도 있고, 랜딩 존은 각각의 열 하단에 생성된다; 또는 대안적으로는, 컴포넌트들은 특정 컨테이너 계층성으로 정렬될 수도 있고, 랜딩 존은 컨테이너들 중 일부(하지만 전부는 아님)의 하단에서 정의될 수도 있다. 원래의 뷰 디자이너는 명백하게-규정된 랜딩 존을 지정하기 위하여, 명칭을 정의된 "랜딩 존"에 지정하기 위하여, 그리고 다양한 랜딩 존 속성을 특정하기 위하여 랜딩 존 편집기(193)를 사용할 수도 있다. 새 컴포넌트가 뷰에 추가되는 경우, 랜딩 존 명칭들의 목록(예를 들어, 드롭 다운 목록)이 표시되고, 디자이너는 새 컴포넌트에 대한 타겟 영역을 선택할 수도 있다.
랜딩 존은 매칭하는 컴포넌트 템플릿을 찾기 위한 규칙들을 정의하는 디자이너-규정된 속성을 포함할 수도 있다. 예를 들어, 디자이너가 새 컴포넌트가 넓은 열에 추가되어야 한다고 규정했으면, 시스템은 넓은-포맷 컴포넌트 템플릿을 추천할 수도 있다. 이러한 효과는 모두의 방향으로 작동하여, 랜딩 존 선택이 컴포넌트 템플릿에 영향을 주고, 그 반대의 경우도 마찬가지가 되도록 할 수도 있다.
선택적으로, 랜딩 존 생성기(194)는 자동적으로 랜딩 존을 다음을 포함하여 생성할 수도 있다(예를 들어): (a) 각각의 컨테이너 또는 미니-페이지의 끝에서; (b) 주어진 타입 또는 속성을 가지는 컨테이너의 끝에서; (c) 최근 필드 추가가 이루어졌던 위치에 이어서; (d) 적어도 주어진 양의 빈 스크린 공간을 가지는 위치에; (e) 새롭게 생성된 페이지 또는 미니-페이지 내에(예를 들어, 컴포넌트를 복수-페이지 컨테이너 내의 추가적 페이지로 추가함으로써). 컴포넌트가 뷰에 추가되는 경우(랜딩 존 또는 다른 것을 사용하여), 뷰의 레이아웃은 동적 레이아웃의 사용을 통해서 재계산된다.
유도된 뷰의 적용
이제 도 19 를 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 뷰 수정을 예시하는 개략적인 블록-다이어그램 예시이다. 뷰를 수정할 경우, WBS(100)는 수정되는 중인 현존 뷰로부터 상속되는 유도된 뷰를 생성할 수도 있다. 현존 뷰는 다수 개의 아이템 타입(다수의 콜렉션 내의 다수의 아이템에 의하여 사용될 수 있음)과 연관될 수도 있고, 또한 다수의 콜렉션 내의 다수의 아이템과 직접적으로 연관될 수도 있다. 이러한 경우에, WBS(100)는 타입 및/또는 아이템들의 대량(또는 벌크, 또는 일괄) 재연관을 수행하기 위하여 "벌크 검색 및 재연관" 모듈(195)을 호출할 수도 있다.
예를 들어, "벌크 검색 및 재연관" 모듈(195)은 현존 뷰와 직접적으로 또는 간접적으로 연관되는 모든 타입 및/또는 아이템을 스캔할 수도 있고; 이들을 유도된 뷰와 재연관시킬 수도 있다. 재연관을 위한 기준들은, 예를 들어: (a) 아이템 필드들의 콘텐츠에 기초한 조건; (b) 아이템 필드들의 존재에 기초한 조건; (c) 타입/아이템 속성에 기초하는 조건; (d) 위의 기준들의 조합을 포함할 수도 있다. 선택적으로, 어떤 타입/아이템을 재연관시킬 것인지에 관련하여 수동 확정이 디자이너로부터 요청될 수도 있다(예를 들어, 타입마다 또는 아이템 마다).
예시적인 예에서, "제품" 아이템 타입으로부터 유도된 "셔츠" 아이템 타입을 생성할 경우, 디자이너는 제품 콜렉션이 스캔될 것이고, 그들의 타이틀 내에 단어 "셔츠"를 가지고 최근 두 달 동안 생성된 모든 "제품" 아이템이 자동적으로 "셔츠" 타입으로 변환될 것이라는 것을 특정할 수도 있다.
맞춤화 및 맞춤화 대화
WBS(100)는 디스플레이된 목록 애플리케이션 내의 다양한 파라미터 및 속성을 맞춤화하기 위하여 디자이너(및 가능하게 최종-사용자)에 의하여 사용될 수 있는 맞춤화 대화의 생성을 제공하는 맞춤화 모듈(201)을 포함할 수도 있다.
맞춤화 모듈(201)이, 예를 들어 발명의 명칭이 "A System and Method for Dialog Customization"이고 대리인 문서 번호가 P-12939-US이며, 본 명세서와 동일한 날 출원되었고(2014 년 3 월 13 일) 및 본 명세서에서 그 전체가 원용에 의해 포함되는 미국 출원 번호 제 14/________ 호에 설명된 바와 같은 다양한 피쳐 및/또는 기술 및/또는 서브-모듈 및/또는 프로세스를 포함할 수도 있고, 또는 이와 연관될 수도 있으며, 또는 이를 이용하거나 구현할 수도 있다는 것이 인정될 것이다.
이러한 맞춤화는 뷰, 아이템 및 뷰/아이템 조합을 포함하는 웹사이트 엘리먼트에 적용될 수도 있다(예를 들어, 주어진 아이템은 몇몇 방법으로 맞춤화되지만 주어진 뷰 내에 디스플레이되는 경우에만 맞춤화된다). 이것은 또한 생성된 웹사이트 내에 포함되는 제 3 자 애플리케이션에 적용될 수도 있다. 맞춤화 옵션은 디자이너에게, 또는 가능하게는 특정한 디자인 / 수정 특권을 가지는 애플리케이션의 다운스트림 사용자에게 이용가능할 수도 있다.
맞춤화는 수반되는 특정 아이템 또는 뷰들의 속성 및 엘리먼트, 및 그들과 관련되는 다른 오브젝트에 영향을 줄 수도 있다(예를 들어, 포함관계 또는 상속관계를 통해서). 이것은(예를 들어): (a) 시스템이 주어진 컴포넌트를 모든 디스플레이 해야 함(예 또는 아니오); (b) 고정된 콘텐츠(예를 들어, 타이틀 텍스트); (c) 특정한 컴포넌트의 디스플레이 속성(예를 들어, 폰트, 사이즈, 컬러); (d) 스크린 거리(예를 들어 요리명 및 이것의 설명 사이의 거리); (e) 카운트(예를 들어 복수-열 디스플레이 내의 열들의 개수); (f) 일반적인 파라미터 - 디스플레이를 관리하는 컴포넌트 / 엘리먼트로 전달되는 파라미터; 및/또는 다른 적합한 맞춤화와 같은 맞춤화를 포함할 수도 있다.
WBS(100)는 맞춤화될 속성을 포함하는 생성된 대화의 사용을 통하여 맞춤화를 지원한다. 이러한 대화는 맞춤화 대화 빌더(201A)에 의하여 생성되고, 맞춤화 대화 표시기(201B)를 사용하여 사용자에게 디스플레이되며(그리고 사용자와 상호작용할 수 있으며), 이제 영향받은 엘리먼트로 맞춤화 대화 결과 적용기(201C)를 사용하여 적용된다.
많은 경우들에서, 단일 맞춤화 값이 다수의 엘리먼트에 영향을 준다. 예를 들어, 동일한 컬러 적응이, 조화를 유지할 필요가 있는, 디스플레이 뷰 내의 다수의 컴포넌트에 적용될 수도 있다; 뷰의 우측 에지 및 두 개의 분리 컴포넌트들 사이의 거리는 조절될 수도 있지만, 양자 모두의 컴포넌트에 대하여 동일하게 유지하여야 한다. 더욱이, 맞춤화는(예를 들어) 특정한 디스플레이된 뷰, 모든 디스플레이된 뷰(주어진 타입의, 또는 모든 타입의), 주어진 뷰 또는 주어진 범위 내의 뷰들의 모든 예(현재 디스플레이되지 않는다고 해도), 또는 디자이너에 의하여 명백하게 선택되는 바와 같은 특정 뷰 인스턴스에 영향을 줄 수도 있다.
맞춤화의 효과는 모든 영향받은 오브젝트들에 대하여 동일하지 않을 수도 있다. 예를 들어, 컴포넌트 A 및 B는 특정 레이아웃을 유지하도록 요구될 수도 있으며, 예컨대 뷰의 상단으로부터의 컴포넌트 B의 거리는 뷰의 상단으로부터의 컴포넌트 A의 거리의 두 배일 것이다. 이러한 경우에, 맞춤화는 요구될 때 개별적으로 적용될 수도 있다(오브젝트-특정 공식을 사용).
예시적인 맞춤화 대화가 도 23a 에 도시된다. 이러한 예에서, 레스토랑 목록 애플리케이션(LA)은 3 개의 콜렉션(메뉴, 섹션 및 요리)으로부터의 아이템들을 단일 LC 내에 계측적으로 디스플레이한다. 시스템은 맞춤화인 "섹션 이미지 높이", "섹션 이미지 표시", "섹션 분리기 표시", "요리 설명 표시", "요리 가격 표시" 및 "아이템 간격"을 포함하는 표시된 맞춤화 대화를 생성했다. 이러한 대화를 통해서 입력되는 값들은 현재 LC 내에 디스플레이되는 모든 뷰에 영향을 준다.
이러한 예에 후속해서, 도 27 은 맞춤화 값 "아이템 간격(A)"을 15 픽셀로부터(도 23a 에서와 같이) 123 픽셀로 바꾸는 것이 어떻게 "요리" 뷰의 다수의 인스턴스들 사이의 간격(B)을 증가시킬 것인지를 예시한다.
생성된 대화는 선규정되거나 자동적으로 생성될 수도 있다. 이것은 또한 독립형 UI 엘리먼트이거나 WBS(100) UI의 나머지와 통합될 수도 있다. 또한 이것은 자동적으로 디스플레이되거나, 또는 디자이너에 의한 명시적 호출을 요구할 수도 있다.
특정 아이템 적응
WBS(100)는, 예를 들어 특정한 컴포넌트를 아이템 레벨에서 및 특정한 뷰의 콘텍스트에서 추가함으로써(예를 들어 끌어다 놓기를 통해서) 특정 아이템에 대한 적응을 생성하기 위한 특정 아이템 적응 모듈(196)을 포함할 수도 있다. 예를 들어, 이것은 별개의 아이템 타입 및 뷰를 생성할 필요가 없이, "장식" 엘리먼트를 특정 아이템에 추가하거나, 또는 어떤 특정 아이템에 대해서만 이용가능한 추가적 정보를 추가하기 위하여 사용될 수도 있다.
예를 들어, WBS(100)는 뷰의 로컬 변동, 또는 "내부" 유도된 뷰를 자동적으로 생성하기 위하여 로컬 변형물 생성기(196A)를 이용할 수도 있다. 적응은 유도된 뷰의 이러한 로컬 변형물 내의 현존 뷰로의 수정의 "층"으로서 저장될 수도 있다. WBS(100)는 이러한 유도된 뷰를 이러한 적응이 인가되기 위한 아이템의 ID와 함께 사이트 레벨 또는 페이지 레벨 또는 LC 레벨에서 저장할 수도 있다. 또한 적응은 그 인스턴스가 사이트 내에서 사용되는 동일한 목록 애플리케이션과 함께 저장될 수도 있다. 동일한 LC 또는 페이지는 다수의 아이템으로의 다수의 적응을 저장할 수도 있다. WBS(100)는 그 아이템이 특정한 LC 내에 특정한 뷰와 함께 디스플레이되는 때마다 적응을 적용한다.
몇 가지 실시예들에서, 선택적으로, 특정 아이템 적응 모듈(196)은 동일한 적응을 동일한 뷰를 사용하는, 동일한 LC 내의 다른 아이템들로 또는 다른 뷰들로 적응하는 성능을 제공할 수도 있다.
적응이 사이트 레벨에서 저장된다면, 적응은 상이한 LC들(또는 리피터 컴포넌트) 내의 동일한 뷰 내에 디스플레이되고 있는 동일한 아이템의 인스턴스에 적용될 것이다. 적응이 아이템 맞춤화와는 상이하다는 것에 주의한다; 예를 들어, 적응은 추가적 엘리먼트 및 컴포넌트를 현존 아이템에 추가하는 것을 수반하는 반면에, 맞춤화는 선정의된 가능한 맞춤화에 기초하여 하나의 또는 아이템(또는 뷰)의 파라미터 및 속성을 변경하는 것을 수반한다. 맞춤화가 "컴포넌트 X의 디스플레이 여부"를 포함할 수도 있다는 것에 주의한다 - 이것은 새 컴포넌트 추가와 유사하게 보이게 한다.
필터 및 검색 박스
선택적으로, 검색 박스 생성기(197)는 디자이너가, 주어진 LC가 주어진 검색 기준들(예를 들어, 필드, 또는 다른 필터에 적용된 주어진 질의)에 따라 선택된 연관된 콜렉션 아이템들의 서브세트를 디스플레이할 것이라고 특정하는 것을 가능하게 할 수도 있다. 디자이너는 더 나아가 LC를 볼 때 이러한 검색 박스가 최종-사용자에게 표시될 것이고, 이를 통하여 최종-사용자가 디스플레이된 콘텐츠를 선택적으로 필터링 또는 검색하게 할 것이라고 특정할 수도 있다. 이러한 검색 박스의 일 예가 도 26 에 도시된다.
LC 연결
이제 도 20 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 LC 연결 관리를 예시하는 개략적인 블록-다이어그램 예시이다. 예를 들어, LC 연결 매니저(198)는 동일한 페이지 또는 템플릿 내에 있는 LC들이 하나 이상의 적합한 방법으로 연결(또는 상호연결)되게 할 수도 있다. 연결된 LC들은 페이지 내의 상이한 컨테이너(또는 컨테이너 레벨)에 상주할 수도 있다. 이러한 연결은 네트워크를 형성하여, 특정 LC가 다수의 다른 LC들로 연결될 수도 있게 할 수도 있다. LC 연결 매니저(198)는 다양한 타입의 LC 연결, 예를 들어 관련된 목록 연결, 취합기 필드 연결, 태그 클라우드 연결, 아이템 트리 연결, 및/또는 폼 디스플레이 연결을 지원할 수도 있다.
관련된 목록 연결 매니저(198A)에 의하여 관리 또는 핸들링될 수도 있는 관련된 목록 연결에서, 제 1 LC "A"는 "마스터 아이템" 콜렉션(예를 들어, 호텔 목록)을 디스플레이하고; 반면에 제 2 LC "B는 "종속 아이템" 콜렉션(예를 들어, 각각의 호텔에 대한 투숙객 후기)을 디스플레이한다. LC "A" 내의 현재 아이템 내의 선-특정된 필드는 LC "B"내에 디스플레이되고 있는 콜렉션에 질의하고, 종속 아이템을 선택하도록 사용될 수도 있다. LC "B"는 LC "A" 내의 현재 아이템과 매칭하는 선택된 아이템만을 디스플레이할 것이다. 디자이너는, 예를 들어, 오직 처음의 K 개의 후기만을 선택하거나, 특정 등급결정 범위를 포함하는 리뷰만을 선택하거나, 또는 기타 등등을 위하여, 종속 아이템 콜렉션에 대해 질의하기 위한 추가적 필터링 및/또는 정렬 기준들을 정의할 수도 있다. 이것은 풀 질의 언어(예를 들어, SQL)를 사용하는 것을 포함하여 임의의 적합한 방식으로 구현될 수도 있다. 단일 "마스터 아이템" LC은 다수의 관련된 목록 LC들에 연결될 수도 있어서; 예를 들어, 10 개의 최선 후기 및/또는 10 개의 최악 후기들의 관련된 목록 디스플레이를 추가하도록 한다. 이것은 별개의 관련된 LC들 보다는 뷰 내에 포함된 리피터 컴포넌트들을 사용하여 획득될 수도 있다.
취합기 필드 연결 매니저(198B)에 의하여 관리되거나 핸들링될 수도 있는 취합기 필드 연결은 관련된 목록 연결이 정의되었을 경우 적절할 수도 있다. 디자이너는 계산된 필드를 마스터 아이템 LC "A" 내의 디스플레이에 추가할 수도 있는데, 이것은 종속 목록 내의 아이템들에 속한 특정 필드에 적용되는 취합 기능의 값을 디스플레이한다. 예를 들어, 이러한 취합 기능은 카운트, 토탈값, 평균, 메디안, 최소, 최대, 또는 다른 적합한 기능을 포함할 수도 있다.
태그 클라우드 연결 매니저(198C)에 의하여 관리되거나 핸들링될 수도 있는 태그 클라우드 연결은, 태그 클라우드 LC를 정규 LC로 연결할 수도 있는데, LC들 양자 모두는 동일한 콜렉션(들)과 연관된다. 태그 클라우드 LC는 연관된 목록(또는 필터링 기준들에 기초하여 이것의 일부) 내의 현존 아이템으로부터 유도되는 태그들로 자동적으로 채워질 수도 있다. 사용자는 태그 클라우드 LC로부터 다수 개의 태그들을 복수-선택할 수도 있다. 선택된 태그들은 질의를 형성하기 위하여 사용되는데, 이것은 필터로서의 역할을 하고 어떤 아이템들이 제 2 LC "B" 내에 표시되는지를 결정한다. 이것은 "관련된 질의 LC"(질의 용으로만 사용되는 관련된 LC)의 사적인 경우일 수도 있다.
아이템 트리 연결 매니저(198D)에 의하여 관리되거나 핸들링될 수도 있는 아이템 트리 연결에서, LC는 아이템의 서브-계층성(예를 들어, 아이템 트리), 예컨대 조직도 또는 가계도를 디스플레이할 수도 있다. 계층성은 아이템 내의 포인터 필드, 예를 들어 부모 아이템으로의 포인터, 또는 형제 아이템으로의 링크된 포인터들의 세트의 존재를 통하여 정의될 수도 있다. 미니-페이지들(이들 각각은 아이템을 보여주기 위하여 사용되는 뷰를 포함함)을 디스플레이하기 위한 트리-유사 구조의 사용보다는, 구조는 다른 캐러젤(carousel)-타입 LC들(역시 다수의 아이템들을 디스플레이함)과 유사할 수도 있다.
폼 디스플레이 연결 매니저(198E)에 의하여 관리되거나 핸들링될 수도 있는 폼 디스플레이 연결에서, LC [a]는 주어진 아이템 [b]가 자동적으로 선택된 뷰 또는 특정한 뷰 [d] 중 하나를 사용하여 주어진 이차 LC [c] 내에서 열릴 것을 요청할 수도 있다. 이것은, 예를 들어 LC [a] 내에서 현재 디스플레이된 아이템의 대안적 버전을 디스플레이하기 위하여; 예컨대, 더 상세한 뷰로써 동일한 아이템의 상세한 버전을 디스플레이하기 위하여 또는 동일한 정보의 대안적 프리젠테이션을 제공하기 위하여(예를 들어, 문자로 된 거리 주소를 디스플레이하는 대신에 팝업 지도 상에 위치를 디스플레이하기 위하여) 사용될 수도 있다. 이와 유사하게, 이러한 방법은 새 아이템을 생성하기 위하여 "아이템 추가"를 디스플레이하거나; "아이템 업데이트" 또는 "아이템 삭제" 폼을 디스플레이하기 위하여 사용될 수도 있다.
앱스토어 통합
이제 도 21 을 참조하는데, 이것은 본 발명의 몇몇 예시적인 실시예에 따르는 WBS(100)의, 특히 앱스토어 통합을 예시하는 개략적인 블록-다이어그램 예시이다. WBS(100)는 애플리케이션 스토어("앱 스토어")(199)를 포함할 수도 있고 또는 이와 연관될 수도 있는데, 이것은 앱 스토어 매니저 모듈(199A)을 통해서 작동되거나 관리될 수도 있다. 비록 예시인 목적으로 외부 앱 스토어(199)가 도시되지만, 앱 스토어(199)가 선택적으로, WBS 벤더에 의하여 또는 제 3 자에 의하여 운영될 수도 있고 WBS(100)의 내부 또는 외부에 있을 수도 있다는 것이 분명하다. 임의의 레벨에서 개발자(예를 들어, 정규 사이트 개발자, 또는 별개의 제 3 자 개발자)는 다른 사용자에 의한 매입 및/또는 다운로드를 위하여 앱스토어(199)내에 하나 이상의 오브젝트를 포함할 수도 있다(예를 들어, 개발자의 승인에 의존함). 이러한 오브젝트는, 예를 들어: 목록 애플리케이션; 뷰; 템플릿(모든 레벨에서); 아이템 타입; 콜렉션(예를 들어, 콜렉션 자체보다는 콜렉션으로의 액세스를 판매함); 컴포넌트(예를 들어, 그들의 풀 연관을 가진 특정 LC들)를 포함할 수도 있다.
개발자는 더 나아가 아이콘, 마케팅 재료, 가격, 검색 키워드, 및 다양한 속성을 앱스토어(199)에서 제공되는 오브젝트로 정의하거나 부착할 수도 있다. 제공된 오브젝트는 그들을 위해 요구되는 다른 오브젝트의 캡슐화된 버전을 포함할 수도 있다; 예를 들어, 뷰 오브젝트는 이것의 동작을 위하여 요구될 수도 있는 다수 개의 아이템 타입 오브젝트를 포함할 수도 있다.
제공된 오브젝트는 선택적으로 비-포함된 오브젝트를 참조할 수도 있다; 예를 들어, 목록 애플리케이션은 그것과 함께 포함되지 않은 특정 뷰에 의존할 수도 있고, 이러한 뷰는 포함하는 웹 사이트에 의하여 제공될 것이다. WBS(100)는, 예를 들어 다음과 같은 하나 이상의 적합한 방법에 의하여 포함시 이러한 누락 참조를 해소하기 위하여 누락 참조 핸들러(117)를 이용할 수도 있다: (a) 참조 명칭 및 타입이 없음에 따른 자동 해소; (b) 디자이너가 명시적 해소를 제공하도록 요청함; (c) 이용가능한 정보(타입, 명칭, 속성 값)에 기초하여 누락 참조된 오브젝트의 "드래프트(draft) 버전"을 생성하고, 디자이너가 인쇄 이전에 이것을 완료하여야 한다는 것을 마킹하는 것. 누락 참조 핸들러(117)는 또한 가능한 후보들에 대한 검색을 수행할 수도 있고(예를 들어, 유사한 명칭, 유사한 성질, 특정한 검색 속성에 기초하여) 디자이너에게 가능한 매칭의 순위결정된 목록을 제공할 수도 있다.
본 명세서에서, 예를 들어 "처리", "컴퓨팅", "계산", "결정", "구축", "분석", "점검", 또는 기타 등등과 같은 용어를 이용하는 논의는 물리적(예를 들어, 전자적) 양으로서 컴퓨터의 레지스터 및/또는 메모리 내에 표시되는 데이터를, 컴퓨터의 레지스터 및/또는 메모리 또는 동작 및/또는 프로세스를 수행하라는 명령을 저장할 수도 있는 다른 정보 저장 매체 내의 물리량으로서 이와 유사하게 표현되는 다른 데이터로 조작 및/또는 변환하는 컴퓨터, 컴퓨팅 플랫폼, 컴퓨팅 시스템, 또는 다른 전자적 컴퓨팅 디바이스의 동작(들) 및/또는 프로세스(들)를 지칭할 수도 있다.
본 발명의 몇몇 실시예는 전체적으로 하드웨어 실시예, 전체적으로 소프트웨어 실시예, 또는 하드웨어 및 소프트웨어 엘리먼트 양자 모두를 포함하는 실시예의 형태를 가질 수도 있다. 본 발명의 몇몇 실시예는 소프트웨어, 펌웨어, 상주 소프트웨어, 마이크로코드, 사용자에 의하여 다운로드되고 및/또는 설치될 수도 있는 애플리케이션, 브라우저에서 실행될 수도 있는 애플리케이션, 클라이언트-측 애플리케이션, 서버-측 애플리케이션, 클라이언트-서버 애플리케이션, 또는 기타 등등으로서 구현될 수도 있다. 본 발명의 몇몇 실시예는 컴퓨터 또는 임의의 명령 실행 시스템에 의하여 또는 이와 연계하여 사용되기 위한 컴퓨터-사용가능 또는 컴퓨터-판독가능 매체로부터 액세스가능한 컴퓨터 프로그램 제품의 형태를 가질 수도 있다. 예를 들어, 컴퓨터-사용가능 또는 컴퓨터-판독가능 매체는 명령 실행 시스템 또는 디바이스에 의하여 또는 이와 연계하여 사용하기 위한 프로그램을 보유, 저장, 통신, 전파 또는 전송할 수 있는 임의의 장치일 수도 있고 또는 이를 포함할 수도 있다. 본 발명의 몇몇 실시예는, 예를 들어 머신에 의하여 실행될 때, 머신(예를 들어, 컴퓨터 또는 전자 디바이스)이 본 명세서에서 설명되는 방법 및/또는 동작을 수행하도록 하는 명령 또는 명령들의 세트를 저장할 수도 있는 머신-판독가능 매체 또는 물품을 사용하여 구현될 수도 있다.
포함 본 발명의 몇몇 실시예는 예를 들어 프로세서, 중앙 처리 유닛(CPU), 디지털 신호 프로세서(DSP), 제어기, 집적 회로(IC), 메모리 유닛, 스토리지 유닛, 입력 유닛, 출력 유닛, 유선 및/또는 무선 통신 유닛, 운영 체제, 및 다른 적합한 하드웨어 컴포넌트 및/또는 소프트웨어 모듈을 포함할 수도 있고 또는 이를 이용할 수도 있다.
몇몇 실시예는 스마트 폰 또는 태블릿 또는 휴대용 컴퓨팅 디바이스용 애플리케이션 또는 "앱"으로서 또는 이를 이용함으로써 구현될 수도 있는데, 이것은 "앱 스토어" 또는 애플리케이션용 온라인 매장으로부터 이러한 전자 디바이스에 다운로드되거나 및/또는 설치될 수도 있다.
본 발명의 하나 이상의 실시예를 참조하여 본 명세서에서 설명되는 기능, 동작, 컴포넌트 및/또는 피쳐는, 본 발명의 하나 이상의 다른 실시예를 참조하여 본 명세서에서 설명되는 하나 이상의 다른 기능, 동작, 컴포넌트 및/또는 피쳐와 통합되거나 이와 함께 이용될 수도 있다.
본 발명의 특징들이 본 명세서에서 예시되었고 설명되었지만, 많은 변경, 치환, 수정, 및 균등물이 당업자들에게 착안될 수도 있다. 이에 상응하여, 청구항들은 모든 이러한 수정예, 대체예, 변경, 및 균등물을 포함하는 것으로 의도된다.

Claims (18)

  1. 웹사이트 구축 시스템(WBS)으로서,
    데이터베이스로서,
    구축되는 중인 웹사이트 상에 디스플레이될 콘텐츠 아이템들의 풀(pool)을 저장하고,
    상기 콘텐츠 아이템들을 디스플레이하도록 사용될 수 있는 뷰들의 세트를 저장하고 - 각각의 뷰는 상기 웹사이트의 웹페이지의 섹션에 대한 템플릿임 -,
    정규 링킹 컴포넌트 및 태그 클라우드 링킹 컴포넌트를 저장하는 - 상기 정규 링킹 컴포넌트 및 상기 태그 클라우드 링킹 컴포넌트는 상기 콘텐츠 아이템들의 동일한 콜렉션과 연관되고, 상기 태그 클라우드 링킹 컴포넌트는 상기 콘텐츠 아이템들의 동일한 콜렉션으로부터 유도된 태그로 채워짐 -, 데이터베이스; 및
    상기 태그 클라우드 링킹 컴포넌트를 상기 정규 링킹 컴포넌트에 연결하고, 상기 정규 링킹 컴포넌트에 디스플레이하기 위해 상기 태그 클라우드 링킹 컴포넌트로부터 사용자가 선택한 태그에 따라 상기 정규 링킹 컴포넌트에 대해 상기 동일한 콜렉션의 콘텐츠 아이템들을 선택하는, 링킹 컴포넌트 매니저
    를 포함하는, 웹사이트 구축 시스템.
  2. 제1항에 있어서,
    상기 정규 링킹 컴포넌트 및 상기 태그 클라우드 링킹 컴포넌트 중 적어도 하나와 연관되는 클라우드 태그로부터의 태그의 선택에 따라 두 개의 링킹 컴포넌트 사이를 상호연결하기 위한 태그 클라우드 연결 매니저를 더 포함하는, 웹사이트 구축 시스템.
  3. 제2항에 있어서,
    상기 태그의 선택은 디스플레이를 위한 콘텐츠 아이템들을 필터링하고 결정하도록 질의를 형성하는, 웹사이트 구축 시스템.
  4. 제1항에 있어서,
    상기 사용자가 선택한 태그는 적어도 두 개의 태그를 포함하는, 웹사이트 구축 시스템.
  5. 제1항에 있어서,
    상기 링킹 컴포넌트 매니저는 상기 데이터베이스로부터 단일 콘텐츠 아이템을 포함하는 단일 미니-페이지를 한 번에 디스플레이하는, 웹사이트 구축 시스템.
  6. 제1항에 있어서,
    상기 링킹 컴포넌트 매니저는 브라우징된 콘텐츠 아이템들 사이의 전환을 애니메이션하는, 웹사이트 구축 시스템.
  7. 제1항에 있어서,
    상기 링킹 컴포넌트 매니저는 콘텐츠 아이템들의 갤러리를 동시에 디스플레이하는, 웹사이트 구축 시스템.
  8. 제1항에 있어서,
    두 개의 링킹 컴포넌트 중 하나 내의 콘텐츠 아이템들에 기초하여 취합된 값을 계산하는 취합 기능에 기초하여 두 개의 링킹 컴포넌트 사이를 상호연결하기 위한 취합기 필드 연결 매니저를 더 포함하는, 웹사이트 구축 시스템.
  9. 제1항에 있어서,
    상기 콘텐츠 아이템들의 풀은, 콜렉션 업데이팅 애플리케이션 프로그래밍 인터페이스(API), 콜렉션 업데이팅 웹 서비스, RSS 피드, 및 외부 데이터 소스에 기초한 콜렉션 업데이팅을 위한 인터페이스 중 적어도 하나를 통해 업데이트가능한 적어도 하나의 아이템 콜렉션을 포함하는, 웹사이트 구축 시스템.
  10. 웹사이트 구축 시스템(WBS)을 위한 방법으로서,
    데이터베이스에
    구축되는 중인 웹사이트 상에 디스플레이될 콘텐츠 아이템들의 풀,
    상기 콘텐츠 아이템들을 디스플레이하도록 사용될 수 있는 뷰들의 세트 - 각각의 뷰는 상기 웹사이트의 웹페이지의 섹션에 대한 템플릿임 -, 및
    정규 링킹 컴포넌트 및 태그 클라우드 링킹 컴포넌트 - 상기 정규 링킹 컴포넌트 및 상기 태그 클라우드 링킹 컴포넌트는 상기 콘텐츠 아이템들의 동일한 콜렉션과 연관되고, 상기 태그 클라우드 링킹 컴포넌트는 상기 콘텐츠 아이템들의 동일한 콜렉션으로부터 유도된 태그로 채워짐 -
    을 저장하는 단계;
    상기 태그 클라우드 링킹 컴포넌트를 상기 정규 링킹 컴포넌트에 연결하는 단계; 및
    상기 정규 링킹 컴포넌트에 디스플레이하기 위해 상기 태그 클라우드 링킹 컴포넌트로부터 사용자가 선택한 태그에 따라 상기 정규 링킹 컴포넌트에 대해 상기 동일한 콜렉션의 콘텐츠 아이템들을 선택하는 단계
    를 포함하는, 웹사이트 구축 시스템을 위한 방법.
  11. 제10항에 있어서,
    상기 정규 링킹 컴포넌트 및 상기 태그 클라우드 링킹 컴포넌트 중 적어도 하나와 연관되는 클라우드 태그로부터의 태그의 선택에 따라 두 개의 링킹 컴포넌트 사이를 상호연결하는 단계를 더 포함하는, 웹사이트 구축 시스템을 위한 방법.
  12. 제11항에 있어서,
    상기 태그의 선택은 디스플레이를 위한 콘텐츠 아이템들을 필터링하고 결정하도록 질의를 형성하는, 웹사이트 구축 시스템을 위한 방법.
  13. 제10항에 있어서,
    상기 사용자가 선택한 태그는 적어도 두 개의 태그를 포함하는, 웹사이트 구축 시스템을 위한 방법.
  14. 제10항에 있어서,
    상기 연결하는 단계와 상기 선택하는 단계에 의해 상기 데이터베이스로부터 단일 콘텐츠 아이템을 포함하는 단일 미니-페이지를 한 번에 디스플레이하는, 웹사이트 구축 시스템을 위한 방법.
  15. 제10항에 있어서,
    상기 연결하는 단계와 상기 선택하는 단계에 의해 브라우징된 콘텐츠 아이템들 사이의 전환을 애니메이션하는, 웹사이트 구축 시스템을 위한 방법.
  16. 제10항에 있어서,
    상기 연결하는 단계와 상기 선택하는 단계에 의해 콘텐츠 아이템들의 갤러리를 동시에 디스플레이하는, 웹사이트 구축 시스템을 위한 방법.
  17. 제10항에 있어서,
    두 개의 링킹 컴포넌트 중 하나 내의 콘텐츠 아이템들에 기초하여 취합된 값을 계산하는 취합 기능에 기초하여 두 개의 링킹 컴포넌트 사이를 상호연결하는 단계를 더 포함하는, 웹사이트 구축 시스템을 위한 방법.
  18. 제10항에 있어서,
    상기 콘텐츠 아이템들의 풀은, 콜렉션 업데이팅 애플리케이션 프로그래밍 인터페이스(API), 콜렉션 업데이팅 웹 서비스, RSS 피드, 및 외부 데이터 소스에 기초한 콜렉션 업데이팅을 위한 인터페이스 중 적어도 하나를 통해 업데이트가능한 적어도 하나의 아이템 콜렉션을 포함하는, 웹사이트 구축 시스템을 위한 방법.
KR1020217043428A 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법 KR102402415B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361781866P 2013-03-14 2013-03-14
US61/781,866 2013-03-14
PCT/IB2014/059724 WO2014141122A1 (en) 2013-03-14 2014-03-13 Device, system, and method of website building by utilizing data lists
KR1020217001945A KR102347431B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217001945A Division KR102347431B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법

Publications (2)

Publication Number Publication Date
KR20220003671A KR20220003671A (ko) 2022-01-10
KR102402415B1 true KR102402415B1 (ko) 2022-05-25

Family

ID=51534458

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020217043428A KR102402415B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법
KR1020157029419A KR102007005B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법
KR1020157029361A KR101953710B1 (ko) 2013-03-14 2014-03-13 다이알로그 커스터마이제이션을 위한 시스템 및 방법
KR1020197022357A KR102207810B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법
KR1020217001945A KR102347431B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020157029419A KR102007005B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법
KR1020157029361A KR101953710B1 (ko) 2013-03-14 2014-03-13 다이알로그 커스터마이제이션을 위한 시스템 및 방법
KR1020197022357A KR102207810B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법
KR1020217001945A KR102347431B1 (ko) 2013-03-14 2014-03-13 데이터 목록을 이용하는 웹사이트 구축 디바이스, 시스템, 및 방법

Country Status (15)

Country Link
US (7) US20140282218A1 (ko)
EP (2) EP2972977B1 (ko)
JP (10) JP6433925B2 (ko)
KR (5) KR102402415B1 (ko)
CN (4) CN105408885B (ko)
AU (9) AU2014229260C1 (ko)
BR (1) BR112015022792B1 (ko)
CA (4) CA3096751C (ko)
EA (2) EA201591779A1 (ko)
ES (2) ES2948388T3 (ko)
HK (2) HK1220264A1 (ko)
IL (7) IL310457A (ko)
MX (3) MX361586B (ko)
MY (2) MY170707A (ko)
WO (2) WO2014141130A2 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179225A1 (en) 2012-01-06 2013-07-11 Level 3 Communications, Llc Method and apparatus for generating and converting sales opportunities
US9996566B2 (en) 2012-02-20 2018-06-12 Wix.Com Ltd. Visual design system for generating a visual data structure associated with a semantic composition based on a hierarchy of components
US11188509B2 (en) 2012-02-20 2021-11-30 Wix.Com Ltd. System and method for generating a visual data structure associated with business information based on a hierarchy of components
USD771079S1 (en) * 2013-01-04 2016-11-08 Level 3 Communications, Llc Display screen or portion thereof with graphical user interface
USD757053S1 (en) 2013-01-04 2016-05-24 Level 3 Communications, Llc Display screen or portion thereof with graphical user interface
USD771078S1 (en) 2013-01-04 2016-11-08 Level 3 Communications, Llc Display screen or portion thereof with graphical user interface
EA201591779A1 (ru) 2013-03-14 2016-03-31 Викс.Ком Лтд. Система и способ персонализации диалогов
US9298785B2 (en) * 2013-07-19 2016-03-29 Paypal, Inc. Methods, systems, and apparatus for generating search results
US10291729B2 (en) 2014-01-21 2019-05-14 Apptimize, Inc. User interface modification and usage tracking
EP3105688B1 (en) 2014-02-11 2020-09-16 Wix.com Ltd. System for synchronization of changes in edited websites and interactive applications
US10230822B2 (en) * 2014-02-24 2019-03-12 Sony Corporation Information processing apparatus, information processing method, and program
MX2016014234A (es) 2014-04-29 2017-02-14 Wix Com Ltd Sistema y metodo para la creacion y uso de diseños dinamicos de calidad alta visualmente diversos.
US10007493B1 (en) * 2014-12-30 2018-06-26 EMC IP Holding Company LLC Event based validation
AU2016272747A1 (en) * 2015-05-31 2018-01-04 Wix.Com Ltd System and method for capability packages offering based on analysis of edited websites and their use
EP3304338B1 (en) * 2015-06-07 2024-03-06 Wix.com Ltd. System and method for the generation of an adaptive user interface in a website building system
CA2993761A1 (en) 2015-07-30 2017-02-02 Wix.Com Ltd. System and method for the creation and use of visually- diverse high-quality dynamic visual data structures
EP3329398A4 (en) * 2015-07-30 2018-07-25 Wix.com Ltd. System integrating a mobile device application creation, editing and distribution system with a website design system
KR101629383B1 (ko) * 2015-11-11 2016-06-13 채규국 클라우드 웹하드 파일 및 폴더 아키텍처에 의한 홈페이지 자동구성을 위한 방법, 그 시스템
US10620920B2 (en) * 2016-05-17 2020-04-14 Google Llc Automatic graphical user interface generation from notification data
WO2017208135A1 (en) 2016-05-29 2017-12-07 Wix.Com Ltd. Creation and update of hierarchical websites based on collected business knowledge
US10367879B2 (en) * 2016-06-10 2019-07-30 Apple Inc. Download prioritization
US11449573B2 (en) 2016-07-27 2022-09-20 Wix.Com Ltd. System and method for smart interaction between website components
EP3491537A4 (en) 2016-07-27 2019-07-10 Wix.com Ltd. SYSTEM AND METHOD FOR IMPLEMENTING CONTAINERS FOR EXTRACTION AND APPLICATION OF SEMANTIC KNOWLEDGE ONE SIDE
CN107770601B (zh) * 2016-08-16 2021-04-02 上海交通大学 一种面向多媒体内容组件个性化呈现的方法及系统
US11087389B2 (en) 2016-12-21 2021-08-10 Wix.Com Ltd. Actionable widget cards
EP3577512A1 (en) * 2017-02-06 2019-12-11 Chromera, Inc. Polymorphic electro-optic displays
US11353693B2 (en) * 2017-02-06 2022-06-07 Paul Atkinson Polymorphic electro-optic displays
CA3063609A1 (en) * 2017-06-08 2018-12-13 Wix.Com Ltd. System and method for smart interaction between website components
US11314837B2 (en) 2017-07-24 2022-04-26 Wix.Com Ltd. Website builder with integrated search engine optimization support
US10719300B2 (en) * 2017-07-24 2020-07-21 Wix.Com Ltd. Segregated user-uploaded plugins to avoid affecting co-hosted websites
CN107609050A (zh) * 2017-08-21 2018-01-19 上海精灵天下数字技术有限公司 基于html5的新型页面系统及其作品生成方法
AU2018376913B2 (en) 2017-11-28 2024-06-06 Wix.Com Ltd. System and method for the generation and editing of text content in website building systems
US20190205901A1 (en) * 2017-12-29 2019-07-04 Facebook, Inc. Dynamic creation of content items for distribution in an online system by combining content components
IL276237B1 (en) * 2018-02-04 2024-05-01 Wix Com Ltd A system and method for handling overlapping components in a visual editing system
WO2019156697A1 (en) * 2018-02-06 2019-08-15 Chromera, Inc. Polymorphic electro-optic displays
CN108520043A (zh) * 2018-03-30 2018-09-11 纳思达股份有限公司 数据对象采集方法、装置及系统、计算机可读存储介质
AU2018202382A1 (en) 2018-04-04 2019-10-24 ADEVI lP HOLDING COMPANY PTY LTD Methods and systems for resolving user interface features, and related applications
US20190342405A1 (en) * 2018-05-04 2019-11-07 Salesforce.Com, Inc. Usage-based intelligent loading of components in a component-driven, multi-tenant cloud application
JP7175030B2 (ja) 2018-06-21 2022-11-18 株式会社Tsunagu.AI ウェブコンテンツ自動生成システム
US10678881B2 (en) 2018-06-29 2020-06-09 Salesforce.Com, Inc. Usage-based predictive prefetching and caching of component-based web pages for performance optimization
US10783405B2 (en) * 2018-10-31 2020-09-22 Salesforce.Com, Inc. Refinement of machine learning engines for automatically generating component-based user interfaces
BR112021009093A2 (pt) 2018-11-14 2021-08-10 Wix.Com Ltd. sistema de desenvolvimento de website, e método para um sistema de desenvolvimento de website
US10984177B2 (en) 2019-05-20 2021-04-20 Wix.Com Ltd. System and method providing responsive editing and viewing, integrating hierarchical fluid components and dynamic layout
BR112021023849A2 (pt) 2019-05-28 2022-01-04 Wix Com Ltd Sistema de construção de site da web e método para um sistema de construção de site da web
CA3141779A1 (en) 2019-05-30 2020-12-03 Wix.Com Ltd. System and method for the generation and interactive editing of living documents
CN110554885A (zh) * 2019-08-29 2019-12-10 五八有限公司 子应用生成方法、装置、电子设备及存储介质
CN110727434B (zh) * 2019-10-21 2023-07-04 百度在线网络技术(北京)有限公司 渲染方法、装置、电子设备及存储介质
US10839453B1 (en) 2019-11-26 2020-11-17 Capital One Services, Llc Systems and methods for identifying location-based information associated with a product on a web page
CN111142863B (zh) * 2019-12-19 2023-06-30 深圳市金证科技股份有限公司 一种页面生成的方法及装置
CN111639100A (zh) * 2020-04-02 2020-09-08 刘沁 基建甲供物资设计清册与申报信息的比对方法和装置
US11947549B2 (en) * 2020-04-10 2024-04-02 Dropbox, Inc. Generating modified view based on identified subset of content items and providing modified view to user associated with user account for display
CN111666028B (zh) * 2020-04-27 2021-08-27 苏宁云计算有限公司 创建多页滑动视图的方法、装置、介质及计算机设备
JP7248802B2 (ja) * 2020-05-14 2023-03-29 グーグル エルエルシー 動的コンポーネントを有するビデオのレンダリング
CN112330774B (zh) * 2020-11-24 2023-09-08 携程旅游网络技术(上海)有限公司 批量合成图片的方法、装置、电子设备、存储介质
US11956199B2 (en) 2021-07-26 2024-04-09 Airship Group, Inc. Software development kit enabled cross-channel two-way software application messaging
US11727084B1 (en) * 2022-05-23 2023-08-15 Salesforce, Inc. Techniques for automatically configuring web components
KR20240009181A (ko) * 2022-07-13 2024-01-22 쿠팡 주식회사 아이템 리스트 정보 제공 방법 및 이를 위한 전자 장치
KR102544538B1 (ko) * 2022-12-01 2023-06-16 (주)알앤씨소프트 웹사이트 운영관리시스템의 제어방법
CN116243899B (zh) * 2022-12-06 2023-09-15 浙江讯盟科技有限公司 一种基于网络环境的自定义编排容器和方法
KR102653618B1 (ko) 2024-01-17 2024-04-01 서창호 고객 니즈를 반영한 웹 시스템 설계 및 제공 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304886B1 (en) 1997-06-19 2001-10-16 International Business Machines Corporation System and method for building a web site using specific interface
WO2002086704A1 (en) 2000-10-11 2002-10-31 Bea Systems, Inc. Smart generator
US6684369B1 (en) 1997-06-19 2004-01-27 International Business Machines, Corporation Web site creator using templates
US20090300656A1 (en) 2006-09-22 2009-12-03 Bea Systems, Inc. Mobile applications
WO2012006567A1 (en) 2010-07-08 2012-01-12 Fisher Printing, Inc. Dynamic website building system
US9753911B2 (en) 2013-03-14 2017-09-05 Wix.Com Ltd. System and method for dialog customization

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515682B1 (en) * 1996-05-09 2003-02-04 National Instruments Corporation System and method for editing a control utilizing a preview window to view changes made to the control
US6100885A (en) * 1996-07-06 2000-08-08 International Business Machines Corporation Supporting modification of properties via a computer system's user interface
US6121964A (en) * 1996-12-09 2000-09-19 Microsoft Corporation Method and system for automatic persistence of controls in a windowing environment
US5950001A (en) 1997-06-03 1999-09-07 Sun Microsystems, Inc. Method and apparatus for customizing a software component
US5991534A (en) 1997-06-03 1999-11-23 Sun Microsystems, Inc. Method and apparatus for editing a software component
US6185587B1 (en) * 1997-06-19 2001-02-06 International Business Machines Corporation System and method for building a web site with automated help
US6263352B1 (en) 1997-11-14 2001-07-17 Microsoft Corporation Automated web site creation using template driven generation of active server page applications
US7720723B2 (en) * 1998-09-18 2010-05-18 Amazon Technologies, Inc. User interface and methods for recommending items to users
AU771925B2 (en) * 1999-02-17 2004-04-08 British Telecommunications Public Limited Company Document management method and tool
AUPQ291299A0 (en) * 1999-09-17 1999-10-07 Silverbrook Research Pty Ltd A self mapping surface and related applications
JP4256543B2 (ja) * 1999-08-17 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示情報確定方法及び装置、表示情報確定のためのソフトウエア・プロダクトを格納した記憶媒体
US7904799B1 (en) * 1999-11-05 2011-03-08 Decentrix Acquisition Corporation Method and apparatus for generating a link to a presented web page
JP2001142673A (ja) 1999-11-11 2001-05-25 Sony Corp 情報提供システム
US6546397B1 (en) * 1999-12-02 2003-04-08 Steven H. Rempell Browser based web site generation tool and run time engine
US7958457B1 (en) * 1999-12-20 2011-06-07 Wireless Agents, Llc Method and apparatus for scheduling presentation of digital content on a personal communication device
US7844503B2 (en) * 2000-01-14 2010-11-30 Fogelson Bruce A Builders on-line assistant
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
US7167903B2 (en) * 2001-04-25 2007-01-23 Teacherweb, Inc. System and method for user updateable web sites and web pages
US20020158902A1 (en) * 2001-04-30 2002-10-31 Hooker Bryce H. Method and apparatus for automatically publishing associate information
US6990498B2 (en) * 2001-06-15 2006-01-24 Sony Corporation Dynamic graphical index of website content
US20030033370A1 (en) * 2001-08-07 2003-02-13 Nicholas Trotta Media-related content personalization
JP2003109023A (ja) * 2001-09-27 2003-04-11 Fuji Photo Film Co Ltd テンプレート出力方法および装置並びにプログラム
JP2003140893A (ja) * 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェースプログラム自動生成装置、自動生成方法およびプログラムと記録媒体
JP2003196264A (ja) 2001-12-26 2003-07-11 Fukui Computer Kk ウエブページ作成方法、ウエブページ作成プログラム及びウエブページ作成装置
US20070198910A1 (en) 2002-03-26 2007-08-23 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US7200820B1 (en) * 2002-09-27 2007-04-03 Bellsouth Intellectual Property Corp. System and method for viewing search results
US20040216084A1 (en) * 2003-01-17 2004-10-28 Brown Albert C. System and method of managing web content
US7188316B2 (en) * 2003-03-24 2007-03-06 Microsoft Corporation System and method for viewing and editing multi-value properties
US20050108620A1 (en) 2003-11-19 2005-05-19 Microsoft Corporation Method and system for selecting and manipulating multiple objects
JP2005196642A (ja) 2004-01-09 2005-07-21 Nissay Information Technology Co Ltd ウェブページ作成システムおよびその方法
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US20060200336A1 (en) * 2005-03-04 2006-09-07 Microsoft Corporation Creating a lexicon using automatic template matching
US20060206517A1 (en) 2005-03-11 2006-09-14 Yahoo! Inc. System and method for listing administration
US7447706B2 (en) * 2005-04-01 2008-11-04 Microsoft Corporation Method and system for generating an auto-completion list for a cascading style sheet selector
US7536641B2 (en) * 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
US20080319950A1 (en) * 2005-07-13 2008-12-25 Rivergy, Inc. System for building a website
JP2007066304A (ja) 2005-08-05 2007-03-15 Canon Inc 情報処理装置及びその制御方法、プログラム
US7761399B2 (en) * 2005-08-19 2010-07-20 Evree Llc Recommendation networks for ranking recommendations using trust rating for user-defined topics and recommendation rating for recommendation sources
US8099674B2 (en) * 2005-09-09 2012-01-17 Tableau Software Llc Computer systems and methods for automatically viewing multidimensional databases
JP3853827B1 (ja) * 2005-10-18 2006-12-06 公靖 中野 スプレッドシートのセル内範囲グラフ表示方法
US7676505B2 (en) * 2006-01-27 2010-03-09 International Business Machines Corporation System, method and computer program product for shared user tailoring of websites
JP2007206746A (ja) * 2006-01-30 2007-08-16 Canon Inc 情報処理装置及びその制御方法、プログラム、記憶媒体
CN101025738B (zh) * 2006-02-21 2013-02-13 广州天懋数码电子商务有限公司 一种免模板动态网站生成方法
US20070214148A1 (en) * 2006-03-09 2007-09-13 Bodin William K Invoking content management directives
US7908273B2 (en) * 2006-03-09 2011-03-15 Gracenote, Inc. Method and system for media navigation
US8504932B2 (en) * 2006-04-13 2013-08-06 Shutterfly, Inc. Image collage builder
JP2007293662A (ja) * 2006-04-26 2007-11-08 Internet Kokokusha:Kk ホームページサーバ装置、ホームページ提供方法、及び電子計算機用プログラム
RU2305314C1 (ru) 2006-06-28 2007-08-27 Общество с ограниченной ответственностью "Центр Компьютерного моделирования" Способ поиска и выборки информации из различных баз данных
US7685519B1 (en) 2006-07-18 2010-03-23 Intuit Inc. Process and apparatus for providing a customizable content tooltip
US8112703B2 (en) * 2006-07-21 2012-02-07 Yahoo! Inc. Aggregate tag views of website information
JP2008140044A (ja) 2006-11-30 2008-06-19 Brother Ind Ltd 画像投影装置、画像投影プログラム及び画像修正方法
US9594731B2 (en) 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
US8040699B2 (en) 2007-07-09 2011-10-18 Active-Semi, Inc. Secondary side constant voltage and constant current controller
JP2009053912A (ja) 2007-08-27 2009-03-12 Rakuten Inc 情報処理装置および方法、並びにプログラム
US7917859B1 (en) * 2007-09-21 2011-03-29 Adobe Systems Incorporated Dynamic user interface elements
JP2009146186A (ja) 2007-12-14 2009-07-02 Az:Kk ウエブページ作成支援装置
US7444592B1 (en) * 2007-12-27 2008-10-28 International Business Machines Corporation Methods and systems involving object attribute recognition
US20100025114A1 (en) 2008-01-22 2010-02-04 Brady William J PCD Percussion Drill Bit
US8151194B1 (en) * 2008-03-26 2012-04-03 Google Inc. Visual presentation of video usage statistics
US8225198B2 (en) * 2008-03-31 2012-07-17 Vistaprint Technologies Limited Flexible web page template building system and method
US20090276709A1 (en) * 2008-05-01 2009-11-05 Venneman Brian Method and apparatus for providing dynamic playlists and tag-tuning of multimedia objects
GB0808109D0 (en) * 2008-05-02 2008-06-11 Wave2 Media Solutions Ltd Automatic document generator
CN101286120A (zh) * 2008-05-28 2008-10-15 北京中企开源信息技术有限公司 一种网站页面的制作方法和系统
CN102084388A (zh) * 2008-06-23 2011-06-01 双重验证有限公司 基于因特网的广告的自动监控和验证
JP2010009167A (ja) * 2008-06-25 2010-01-14 Ricoh Co Ltd 画面表示装置、画面表示方法及び画面表示プログラム
US20100036856A1 (en) * 2008-08-05 2010-02-11 International Business Machines Corporation Method and system of tagging email and providing tag clouds
JP2010049598A (ja) * 2008-08-25 2010-03-04 Naninani.Tv:Kk ウェブサイト作成支援装置及びウェブサイト作成支援プログラム
US20100235806A1 (en) * 2009-03-13 2010-09-16 Microsoft Corporation Rich Web Site Authoring And Design
US20100235411A1 (en) * 2009-03-16 2010-09-16 Bray Carne Robert Gordon Systems and methods for creating a customized website
US20100251143A1 (en) 2009-03-27 2010-09-30 The Ransom Group, Inc. Method, system and computer program for creating and editing a website
US8392828B2 (en) * 2009-05-20 2013-03-05 Yahoo! Inc. Open theme builder and API
US8224851B2 (en) * 2009-07-28 2012-07-17 Oracle International Corporation Tag creation system
US9019349B2 (en) 2009-07-31 2015-04-28 Naturalpoint, Inc. Automated collective camera calibration for motion capture
US20110191671A1 (en) 2010-01-29 2011-08-04 Extensis, Inc. Website Font Previewing
JP5596383B2 (ja) * 2010-03-23 2014-09-24 富士通テン株式会社 車載機のインターフェース管理システム及びインターフェース管理プログラム
US20110258534A1 (en) * 2010-04-16 2011-10-20 Microsoft Corporation Declarative definition of complex user interface state changes
US20110276372A1 (en) 2010-05-04 2011-11-10 Live Matrix, Inc. Temporal indices of the web that associate index elements with metadata
GB201010878D0 (en) 2010-06-29 2010-08-11 Ge Healthcare As Dye compositiion and dye syntheses
CA2716843C (en) * 2010-10-06 2017-11-07 Ibm Canada Limited - Ibm Canada Limitee Combined properties dialog from different sources
JP5773618B2 (ja) * 2010-11-08 2015-09-02 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US8549425B2 (en) * 2010-12-02 2013-10-01 Sony Corporation Visual treatment for a user interface in a content integration framework
US8793568B2 (en) * 2011-02-22 2014-07-29 Accenture Global Services Limited Page designer with customization constraints
US9087035B1 (en) * 2011-03-31 2015-07-21 Intuit Inc. Website creation and management based on web analytics data
US8261231B1 (en) 2011-04-06 2012-09-04 Media Direct, Inc. Systems and methods for a mobile application development and development platform
US9152616B2 (en) * 2011-04-28 2015-10-06 Flipboard, Inc. Template-based page layout for web content
US10061860B2 (en) * 2011-07-29 2018-08-28 Oath Inc. Method and system for personalizing web page layout
WO2013019307A1 (en) * 2011-08-04 2013-02-07 Thomson Licensing Content recommendation method and apparatus
US8737728B2 (en) * 2011-09-30 2014-05-27 Ebay Inc. Complementary item recommendations using image feature data
US10565296B2 (en) * 2011-11-08 2020-02-18 Microsoft Technology Licensing, Llc Designing interactive web templates
US9038014B2 (en) * 2011-12-15 2015-05-19 Microsoft Technology Licensing, Llc Intelligently recommending schemas based on user input
US9311427B2 (en) * 2012-01-03 2016-04-12 Cimpress Schweiz Gmbh Automated generation of mobile optimized website based on an existing conventional web page description
US9262036B2 (en) * 2012-01-20 2016-02-16 Cimpress Schweiz Gmbh Website image carousel generation
DE102013202782A1 (de) 2012-02-20 2013-08-22 Wixpress Ltd Server-basiertes Webseiten-Designsystem, das ein dynamisches Layout und dynamischen Inhalt integriert
US20140040724A1 (en) * 2012-08-01 2014-02-06 Minds and Machines, LLC Method and system for website creation
EP2728498A1 (en) * 2012-11-06 2014-05-07 Open Text S.A. System and method for creation of templates
US20140173563A1 (en) * 2012-12-19 2014-06-19 Microsoft Corporation Editor visualizations
US10977426B2 (en) * 2013-03-07 2021-04-13 Smugmug, Inc. Method of designing a customizable website
US20140258841A1 (en) * 2013-03-07 2014-09-11 Smugmug, Inc. Method of building a customizable website
US9286273B1 (en) * 2013-03-11 2016-03-15 Parallels IP Holding GmbH Method and system for implementing a website builder
US9292579B2 (en) * 2013-11-01 2016-03-22 Intuit Inc. Method and system for document data extraction template management
WO2015078231A1 (zh) * 2013-11-26 2015-06-04 优视科技有限公司 网页模板生成方法和服务器
CA2932024A1 (en) * 2013-11-29 2015-06-04 1033759 Alberta Ltd. System and method for generating and publishing electronic content from predetermined templates

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304886B1 (en) 1997-06-19 2001-10-16 International Business Machines Corporation System and method for building a web site using specific interface
US6684369B1 (en) 1997-06-19 2004-01-27 International Business Machines, Corporation Web site creator using templates
WO2002086704A1 (en) 2000-10-11 2002-10-31 Bea Systems, Inc. Smart generator
US20090300656A1 (en) 2006-09-22 2009-12-03 Bea Systems, Inc. Mobile applications
WO2012006567A1 (en) 2010-07-08 2012-01-12 Fisher Printing, Inc. Dynamic website building system
US9753911B2 (en) 2013-03-14 2017-09-05 Wix.Com Ltd. System and method for dialog customization

Also Published As

Publication number Publication date
JP2024056825A (ja) 2024-04-23
JP6978558B2 (ja) 2021-12-08
JP2024029229A (ja) 2024-03-05
JP7420861B2 (ja) 2024-01-23
CN110045894A (zh) 2019-07-23
JP2019036331A (ja) 2019-03-07
EP2972977B1 (en) 2023-05-10
IL310457A (en) 2024-03-01
AU2018202241C1 (en) 2020-04-16
JP6744380B2 (ja) 2020-08-19
HK1221298A1 (zh) 2017-05-26
CA3208976A1 (en) 2014-09-18
AU2014229260C1 (en) 2018-07-12
CA2904813A1 (en) 2014-09-18
KR20190092614A (ko) 2019-08-07
WO2014141122A1 (en) 2014-09-18
US20170322922A1 (en) 2017-11-09
KR20220003671A (ko) 2022-01-10
MX361586B (es) 2018-12-11
IL267674A (en) 2019-08-29
CA3096751C (en) 2023-10-17
AU2014229331C1 (en) 2020-04-16
CA2904813C (en) 2023-10-03
US20230289521A1 (en) 2023-09-14
AU2014229331B2 (en) 2019-10-17
CN105339881B (zh) 2019-04-30
AU2014229260A1 (en) 2015-10-15
AU2019284073A1 (en) 2020-01-23
IL274941A (en) 2020-07-30
CN105339881A (zh) 2016-02-17
EP2972731A4 (en) 2016-12-07
US11361157B2 (en) 2022-06-14
AU2020200349B2 (en) 2021-08-19
EP2972977A4 (en) 2017-02-22
US11657220B2 (en) 2023-05-23
KR20210010957A (ko) 2021-01-28
CN105408885B (zh) 2018-11-13
IL241423B (en) 2018-10-31
MY192602A (en) 2022-08-29
AU2022200633B2 (en) 2024-01-18
AU2024202542A1 (en) 2024-05-09
AU2021269367B2 (en) 2023-11-30
MX2015012748A (es) 2016-06-21
BR112015022812A8 (pt) 2019-11-26
IL267674B (en) 2021-07-29
BR112015022812A2 (pt) 2017-07-18
BR112015022792A2 (pt) 2017-07-18
MY170707A (en) 2019-08-27
US20140282130A1 (en) 2014-09-18
US20140282218A1 (en) 2014-09-18
JP7437369B2 (ja) 2024-02-22
KR102007005B1 (ko) 2019-08-02
US11914949B2 (en) 2024-02-27
HK1220264A1 (zh) 2017-04-28
JP2022033768A (ja) 2022-03-02
JP2016518639A (ja) 2016-06-23
IL285082A (en) 2021-08-31
AU2021269367A1 (en) 2021-12-16
JP6419736B2 (ja) 2018-11-07
AU2018202241A1 (en) 2018-04-26
WO2014141130A3 (en) 2014-12-11
IL261830B (en) 2020-05-31
IL241424B (en) 2019-07-31
MX2018005419A (es) 2020-11-06
CN110046330B (zh) 2024-01-12
EP2972977A2 (en) 2016-01-20
IL274941B1 (en) 2024-03-01
US20180150447A2 (en) 2018-05-31
AU2020200349A1 (en) 2020-02-06
JP2021007002A (ja) 2021-01-21
US20200175224A1 (en) 2020-06-04
US10984185B2 (en) 2021-04-20
ES2947532T3 (es) 2023-08-11
KR102207810B1 (ko) 2021-01-26
JP2016519347A (ja) 2016-06-30
EP2972731A1 (en) 2016-01-20
MX2015012744A (es) 2016-06-21
IL241423A0 (en) 2015-11-30
CN110045894B (zh) 2022-07-26
JP7059323B2 (ja) 2022-04-25
US20210256206A1 (en) 2021-08-19
ES2948388T3 (es) 2023-09-11
JP2022093399A (ja) 2022-06-23
KR102347431B1 (ko) 2022-01-04
AU2018202241B2 (en) 2019-10-03
CN110046330A (zh) 2019-07-23
WO2014141130A2 (en) 2014-09-18
CA2904830C (en) 2020-12-29
KR20150129330A (ko) 2015-11-19
AU2022200633A1 (en) 2022-02-24
US20220309239A1 (en) 2022-09-29
US9753911B2 (en) 2017-09-05
JP2019036358A (ja) 2019-03-07
CA3096751A1 (en) 2014-09-18
JP6433925B2 (ja) 2018-12-05
JP6730399B2 (ja) 2020-07-29
BR112015022792B1 (pt) 2022-04-19
IL241424A0 (en) 2015-11-30
AU2014229260B2 (en) 2018-03-15
CA2904830A1 (en) 2014-09-18
KR101953710B1 (ko) 2019-05-31
EP2972731B1 (en) 2023-04-12
EA201591779A1 (ru) 2016-03-31
KR20150132445A (ko) 2015-11-25
JP2020173841A (ja) 2020-10-22
EA201591606A1 (ru) 2016-04-29
IL261830A (en) 2018-10-31
AU2014229331A1 (en) 2015-10-15
AU2024201328A1 (en) 2024-03-21
CN105408885A (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
AU2021269367B2 (en) Device, system, and method of website building by utilizing data lists
US20180260487A1 (en) Modifying a Custom Search Engine
US8959073B2 (en) Automatically modifying a custom search engine for a web site based on user input
US20050216834A1 (en) Method, apparatus, and computer-readable medium for dynamically rendering a user interface menu
US9619528B2 (en) Automatically creating a custom search engine for a web site based on social input
WO2010048238A1 (en) Apparatus and method for data search and organization
JP2011180796A (ja) コンテンツ共有システム
US20240202436A1 (en) Device, system, and method of website building by utilizing data lists
BR112015022812B1 (pt) Sistema e método computadorizado para construção de um website

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant