Время жизни проект

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 30 января 2010 в 14:56

Интересует следующие...

Возможно ли привязать публикации материала и просмотр их к времени не реальному, а к времени жизни акаунта...

т.е.

есть сайт расчитанный на 5 лет
после регирации пользователя он имеет просматривать только те материалы которые опубликованы для 1 дня жизни проекта...

проеле день (не от регистрации ) а от времени жизни акаунта (тоесть зарегили юзера на 5 дней ) и он может видеть только те материалы котрый попадают в промежуто этих 5 дней сначала 1 день второй и так далее... как 5 дней жизни заканчивается акаунт юзера блокируется... до момент пока админ не увеличит ему время жизни на сайте...

Комментарии

Аватар пользователя iNFerNo iNFerNo 31 января 2010 в 10:59

Есть смысл.

тк она является частью системы.

расскажу попонятнее что нужно.

есть сайт с определенным сроком жизни, которое может увеличиваться при наличие нового материала для публикации.

каждому материалу (например аудио, видео) указыватся время публикации относительно жизни проекта. не реального времени!!!

это делается для того что бы каждый новый пользователь прошел по всем ступенькам сайта как и предыдущие залогиненые а не зарегилсячерез 5 лет и все на готовенько все ссылки уже есть...

что делать?

Аватар пользователя Dan Dan 31 января 2010 в 18:54

Я прочитал половину, подомал, что всё понял, но вторая половина ввела в ступор. Реально - ничего не понятно.

Давайте наводящими вопросами: будет несколько сайтов, не один?

Аватар пользователя Dan Dan 31 января 2010 в 20:38

"iNFerNo" wrote:
есть сайт с определенным сроком жизни, которое может увеличиваться при наличие нового материала для публикации.

То есть Вы делаете один сайт, который будет удалён, если на нём не будут появляться новые материалы?

Аватар пользователя iNFerNo iNFerNo 31 января 2010 в 22:08

да нет.

есть сайт.
есть админ котрый только делает обновления.

есть пользователь котрый впервые прошел
и получает по маленькой дозе инфы часть 1 часть 2 часть 3

потом еще один зарегился он так же получает дозу инфв часть 1 часть 2 часть третью...

в это время первый юзер может уже получть 20 часть... инфы...

каждый пользователь проживает всю стадщию обновления...

---

обычно как зарегился и архивы инфы за 100 лет назд смотри и жди новых

мне такое не нужно!

необходимо чтобы каждый новый пользователь сайта полал свою собственную дозу инфы.

время десвия его акаунта заканчивается . замаражевается доступ.

через пол года реального времени получил еще доступ на год... дальше тикает время... его участия... и следующие по расписанию дозы он получат...

+ новью которое появляется после открытия доступа.

Аватар пользователя volocuga volocuga 1 февраля 2010 в 1:09

Ну подумаем категориями друпала. Доступ к тем или иным частям сайта можно давать на основе ролей,например "новичёк","бывалый"...Роли можно получать основе продолжительности участия. Вот те же rules стоит посмотреть

"iNFerNo" wrote:
что делать?

Заплатить деньги и сделать под себя

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 9:05

Так мне и будут делать.

Это если 10000 частей сколько же ролей будут и как их все остлеживать. это же не части раз в год или раз в месяц..........

мне треба алгоритм какой примерно нужно что бы тз написать и что можно своими силами сделать...

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 9:08

все же автоматизировано должно быть. чтобы админ время тратил только на новое и на регу юзеров. а не копался кому каую когда роль присвоить...

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 февраля 2010 в 10:34

С каждым новым сообщением в данном топике, я понимаю всё меньше и меньше.
Если бы вы по-русски, без ошибок, описали, что вам требуется, то вам бы уже давно ответили, пока на ум приходит только hook_db_rewrite_sql()
P.S. Просьба без оскорблений, иначе потом обижаться придётся

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 10:51

все что нужно написано 3 раза разными вариантами. если что-то непонятно спрашивайте. все что надо в 10 слов уменьшается а вам тут по абзацам расписывают.

пи.сэ. и побольше словами алгоритмы а не - hook_db_rewrite_sql() (это не о чем не скажет) Lol

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 11:17

RxB

вы это для чего именно предлагаете?

дата регистрации для моего задания не используется. она сама по себе, как была так и существует.

нужно как-то умудриться задать внутреннее время для пользователя и сайта от которого все пляски идут по доступу к материалам.

пользователю дали добро на регистрацию + дали энное (пусть 30 дней) количество дней в течение которого будут для конкретного ЭТОГО пользователя появляться материал по заранее запрограммированному алгоритму.

провел человек 3 дня из 30 - ему доступны те материалы, которые привязаны к этим дням.

закончились 30 дней. юзер блокируется и что бы продолжить ему надо снова дать энное количество дней и дальше сценарий будет продолжен с момента (с дня) когда у пользователя закончились предыдущие дни.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 февраля 2010 в 11:24

"iNFerNo" wrote:
вы это для чего именно предлагаете?

Для решения вашей задачи
"iNFerNo" wrote:
дата регистрации для моего задания не используется. она сама по себе, как была так и существует.

Регистрация, апрув, китайская пасха, это имеет принципиальную разницу? Всё равно готового решения под данную задачу скорее всего нет

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 11:29

да мне решения и не нужно ибо его и нет (я с таким ни где не сталкивался) мне нужен словесный алгоритм как это можно и можно ли осуществить...

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 февраля 2010 в 11:34

Опять начинаем повторять одно и тоже по три раза

"iNFerNo" wrote:
мне нужен словесный алгоритм как это можно и можно ли осуществить...

Алгоритм:
Залезть в запрос, изменить условие WHERE в зависимости от времени жизни аккаунта.
Время жизни хранить в профиле, в отдельной табличке, каким-то третьим способом
"iNFerNo" wrote:
для какого из пункта задачи?

Я у вас пунктов не видел

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 11:38

подводя итого чего нужно можно выразиться еще и так

это как игра что бы ее пройти нужно быть участником всех этапов

так и тут (задачи) каждый пользователь проходит один и тот же сценарий заложенный в сайт.

т.е. пользователь не сможет попасть на финальный этап где раскрыты уже все раскладки и доступны все материалы. попасть на финал он сможет пройдя весь путь который может составлять 1-2 года 5 лет 20 лет...

Аватар пользователя Valeratal Valeratal 1 февраля 2010 в 12:00

я то вроде понял
но вот нафига???

ну вот я представил. у меня есть сайт которому 5 с лишним лет

зарегился сегодня юзер, а ему доступ к информации только за первый день существования сайта (ну там, нод с "привет, мы запустились"
во второй день он уже может читать целых 2 ноды (ну или сколько там осилил я 5 лет назад) и тд и тд

Но вот на зачем?

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 12:00

"RxB" wrote:
Залезть в запрос, изменить условие WHERE в зависимости от времени жизни аккаунта.

его же надо еще задать время жизни в днях. время жизни от регистрации это не то для моей задачи.

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 12:03

"Valeratal" wrote:
я то вроде понял
но вот нафига???

это фича предназначена для определенных типов материалов...

это не касается новостей и прочих текстовой информации которая уже не актуальна.

это мне нужно для публикации своих архивов. в течение определенного периода. если все выложить зараз чел придет - сольет все и уйдет. а так если ЭТО нужно человека можно держать нужно тебе количество времени.

Аватар пользователя Valeratal Valeratal 1 февраля 2010 в 12:08

ну сделайте платные архивы, зачем же извращаться?? (а с другой стороны, нафига выкладывать, если не хотите, чтоб качали?)

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 12:17

"Valeratal" wrote:
ну сделайте платные архивы, зачем же извращаться?? (а с другой стороны, нафига выкладывать, если не хотите, чтоб качали?)

ну допустим человек заплатит рубль и качнет все за раз а так он 10 лет по рублю и будет качать тоже самое частями... есть разница рубль или 10 рублей за тоже самое?

когда это реализовано будет будет следующие фичи прикручиваться то как бонус в днях для тех кто предоставил что-то архивное интересное. штрафы - если запустили в сеть что-то с этого сайта...

эта параметр дни - самый главный .

а платные архивы не решают тех задач что я поставил для сайта.

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 12:38

Так мне и нужно понять, что сказать программеру. Вот один человек понял практически. Если и Вы поймете - то дело в шляпе.

Аватар пользователя Valeratal Valeratal 1 февраля 2010 в 12:39

ну допустим человек заплатит рубль и качнет все за раз
а что, поставить 10 рублей нельзя?

я к тому, что Вы думаете как типичный программер.
а Вы позовите Толю местного (маркетолога) и спросите, будет ли это вообще кому-то нужно - сидеть у Вас на сайте чтобы получить "ЭТО" (не правда, у Вас там прон в ХД, чтоль Smile

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 февраля 2010 в 12:44

"Valeratal" wrote:
я к тому, что Вы думаете как типичный программер.

Как раз тут ничего программерского в размышлениях нет, внимание заостряется на мелочах типа "как посчитать дни", а не на реализации

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 13:07

"Valeratal" wrote:
ну допустим человек заплатит рубль и качнет все за раз
а что, поставить 10 рублей нельзя?

я к тому, что Вы думаете как типичный программер.
а Вы позовите Толю местного (маркетолога) и спросите, будет ли это вообще кому-то нужно - сидеть у Вас на сайте чтобы получить "ЭТО" (не правда, у Вас там прон в ХД, чтоль :)

это делается для определенного круга людей.

и что значит поставить 10

идея сайта такова - подавать все частями. и сценарий для каждого юзера будет одинаковый.

появилось вчера на сайте что-то а пользователь возми и зарегился сегодня. а материал уплыл... придет к нему через энное время лет... так как другие люди ждали энное количество лет что бы заполучить ту или иную информацию и тебе придется ждать (вопрос о сливание инфы и размещение на др ресурсах решается путем штрафов - нашел свой материал - извольте получить штраф причем отвечают все. не нравиться не регистрируйтесь (все эти правила прописаны будут)

такая вот схема. один за всех и все за одного.

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 13:08

"RxB" wrote:
Как раз тут ничего программерского в размышлениях нет, внимание заостряется на мелочах типа "как посчитать дни", а не на реализации

я заостряю на этом внимание потому что могу это понять а реализацией программеры должны заниматься. или нет?

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 февраля 2010 в 13:14

Я имею ввиду, что программист должен думать как посчитать дни, а не заказчик. И программисту решать, сложно посчитать дни или нет. Как правило, таких заказчиков, которые знают больше чем программист, крайне не любят. Вы за своими днями не замечаете настоящих подводных камней

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 1 февраля 2010 в 13:41

Существуют, но будет же так:

iNFerNo: кароч мне надо сделать сатй на друпале чтобы ну там допустим юзер регается платит потом администратор ему разрешает.

так вот и когда разрешит юзер проходит весь материал сайта по шагам и надо задать дни это самое тяжёлое
Программист: Why?
*прошла неделя*
iNFerNo: Ну так сколько будет стоить сделать такое????
Программист: Понимаете, тут такие проблемы:
1. *
2. *
3. *
...
n. *
По этому 500$ минимум.
iNFerNo: 500$?????? ЗА ЧТО? ТАМ НИЧЕГО ТАКОГО НЕТ ТОЛЬКО ДНИ ЗАДАВАТЬ И ВСЁ

По этому, уважаемый ТС, лучше бы вы написали техническое задание на русском языке, а не задавались вопросом "Как объяснить программисту как это делать"
http://forum.freelance.ru/index.php?showtopic=33381&pid=192068&st=0&#ent...

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 13:47

Так что дорогой rXb вы соизволили понять что требуется от программиста?

если нет то хотелось бы пару конкретных вопрос что не понятно.

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 13:48

"RxB" wrote:
Главное, чтобы ваше ТЗ было написано не таким стилем, каким вы нам задаёте вопросы

само собой. все по ГОСТам.

Аватар пользователя olk olk 1 февраля 2010 в 14:11

На сколько я понял Smile то в принципе ничего сложного нет , естественно все решается через самописный модуль.
Примерно так:
Создается таблица с расписанием выдачи материалов, примерно такой структуры
DayOfRegister int - дней от регистрации
data text - серилизованный масив с nid нод

далее по вкусу или в hook_access или hook_nodapi (есть еще варианты) на основании
текущего пользователя и заполненного расписания показываются/скрываются/запрещается доступ
к тем или иным нодам ...

вроде все ! Smile

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 14:37

а от поля с датой которую выставляет админ заблокированному еще пользователю. когда дата выставлена юзер активируется (активный). и время тикает...

30 дней

29

10

и к этим поля и привязываются доступы к нодам...

как-то так наверное должно быть...

Аватар пользователя olk olk 1 февраля 2010 в 14:42

Ну и в чем проблема ? Цепляете стандартный модуль профиля (profile),
добавляете там поле «время жизни акаунта»,
и «текущий день жизни»
в таблице расписания вместо дней от регистрации, используете «время жизни акаунта» + «текущий день жизни»,
дальше алгоритм тот-же,
плюс в модуле через hook_cron, раз в сутки инкрементируете поле «текущий день жизни» и заодно блокирует пользователя если
«время жизни акаунта» < «текущий день жизни»

Аватар пользователя Dan Dan 1 февраля 2010 в 19:06

Всё сведётся к тому, о чём уже написал rxb - hook_rewrite_sql.
Если вдруг через хук не получиться - не проблема выдача определённы нод будет "ручная" через собственный модуль.

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 19:57

"MDinc" wrote:
не понятно как администрировать такую систему
на ум приходит одно заходить в каждый нод меню и тд и проставлять уровень доступа

не знаю что в вашем понимание администирование скажу как необходимо.

до того как начнется регистрация

необходимо подготовить базовую сборку проекта.

создаем материал (видео)

Вводим заголовок

прописываем день доступа (например 3 день или 572)

заполняем все необходимое содержание. и нажимаем сохранить.

1 юзер видет все эти ноды.

а если зайдет зарегенный то он увидет эту ноду (или получит доступ к ней) только когда на его счетчике в профиле накапет нужный день третий или 572)

Аватар пользователя iNFerNo iNFerNo 1 февраля 2010 в 20:00

менять роли это не тема так как придется созадавать 10000000000 ролей.

а так будет вип роль которая будет привязана к алгаритму... доступа определенных нод.

Аватар пользователя olk olk 1 февраля 2010 в 21:09

Ваша задача решается модулем который пишется в 1 день (ну и отлаживается дня три четыре на конкретных данных),
Просто надо сформировать корректную постановку задачи...
т.е. надо построить бизнес-процесс (в разрезе воркфлоу),
и описать все достижимые результаты, при всех возможных вариантах развития событий,

"iNFerNo" wrote:
не знаю что в вашем понимание администирование скажу как необходимо.

до того как начнется регистрация

необходимо подготовить базовую сборку проекта.

создаем материал (видео)

Вводим заголовок

прописываем день доступа (например 3 день или 572)

заполняем все необходимое содержание. и нажимаем сохранить.

1 юзер видет все эти ноды.

а если зайдет зарегенный то он увидет эту ноду (или получит доступ к ней) только когда на его счетчике в профиле накапет нужный день третий или 572)


Даже по этому описанию не понятно:
1. «Расписание» только одно, или зависит например от типа материала или еще каких то данных (например роли пользователя)
1. В ноде прописывается конкретный день или диапазон.
2. В каком виде выводить доступные ноды (спиок, тизеры, полные ноды), нужнен ли пункт меню для данного списка,ограничен ли список кол-вом, нужны каки либо фильтры, нужнен ли порядок сортировки и т.д и т.п. поддерживать ли пейджинг, или запрещать доступ при переходе на конкретную ноду
3. Ограничения действует на конкретный день/диапазон или включая предыдущие ограничения (например видит ли пользователь с 572 днем жизни, ноды доступные на 571 день ?
4. Кто блокирует/разблокирует пользователя и как это происходит (например пользователь заблокировался, что делать после разблокировки, считать время жизни по новой или продолжать дальше и какой теперь у него день жизни ?)
5. Версия Друпал ?

Ну и так далее и т.п.

Тут даже не обязательно рисовать UML-диаграммы и сети петри , или конечные автоматы ...
Просто опишите сценарий по каждой возможной инвариантной ветке, и вам будет проще понять чего же вы хотите Smile

Если вы все это распишете то:
Возьмусь реализовать модуль с таким функционалом за день-два Smile
Цена 400 у.е. Предоплата 200 у.е. Доработки после реализации (при изменении начальных условий) 40 у.е. за чел/час.

Аватар пользователя olk olk 1 февраля 2010 в 22:36

Бред или не бред, давайте дождемся ответа автора топика Lol
Мне это видится так ... возможно вам как то иначе ...
Не обязательно зацикливаться на node access
можно например в hode_alter, на op == 'load', подменять флаг публикации ноды ...

Аватар пользователя PVasili PVasili 1 февраля 2010 в 22:38

"Dan" wrote:
"Банан огромен, а шкурка еще больше" (с) ))
ну тут на (с) в оригинале:
"Банан велик, а кожура еще больше..." Роберт Вильямс Вуд. Историю фразы желающие могут почитать в книге биографа Ситбрука Wink

Аватар пользователя iNFerNo iNFerNo 2 февраля 2010 в 6:45

Насчет доступ запрещен.

закрытые ноды выводиться должны без ссылки на ноду...

заголовки - то что закрыто в данный момент
заголовки с линками - открытые...

Аватар пользователя iNFerNo iNFerNo 2 февраля 2010 в 6:57

"olk" wrote:

1. «Расписание» только одно, или зависит например от типа материала или еще каких то данных (например роли пользователя)

в "расписание" может вписаться любой материал.

"olk" wrote:
1. В ноде прописывается конкретный день или диапазон.

День прописываеться. и в коде выставлено например время для крона видима (по дефолту например 12 ночи по серверу) (или в настройках модуля)

"olk" wrote:
2. В каком виде выводить доступные ноды (спиок, тизеры, полные ноды), нужнен ли пункт меню для данного списка,ограничен ли список кол-вом, нужны каки либо фильтры, нужнен ли порядок сортировки и т.д и т.п. поддерживать ли пейджинг, или запрещать доступ при переходе на конкретную ноду

день наступил - нода открыта пожизненно.

"olk" wrote:
4. Кто блокирует/разблокирует пользователя и как это происходит (например пользователь заблокировался, что делать после разблокировки, считать время жизни по новой или продолжать дальше и какой теперь у него день жизни ?)

выводяться так же как и остальные ноды... (ни каких новых страниц не нужно ибо все ноды привязаны к сортировке по годам.... ) нода 1 относица к 2000 году нода 56 к 2009 году... - года ноды прописываются - год из таксономии.

"olk" wrote:
. Ограничения действует на конкретный день/диапазон или включая предыдущие ограничения (например видит ли пользователь с 572 днем жизни, ноды доступные на 571 день ?

день наступил - и нода видна пожизненно.

"olk" wrote:
4. Кто блокирует/разблокирует пользователя и как это происходит (например пользователь заблокировался, что делать после разблокировки, считать время жизни по новой или продолжать дальше и какой теперь у него день жизни ?)
5. Версия Друпал ?

друпал шестой.

блокируется автоматом. дни закончились заблокировался аккаунт.

доступ только к профилю т.к. там кнопка будет, которую юзер нажимет, когда рубль закинет очередной и этим опевестит админа. админу приходит письмо, и он уже смотрит пришел ли рубль, и выставляет дальше дни, приплюсоывая их к старым дням...

так делается потому что - можно будет штрафовать на дни эти же, или набавлять бонусы за что либо...