Find Jobs
Hire Freelancers

Custom Pagination of Cached and Remote Data

$25-50 USD / hour

En curso
Publicado hace casi 11 años

$25-50 USD / hour

I've written a Wordpress plugin that utilizes Vimeo's API to display videos on a user's blog. The plugin retrieves a dataset of 50 videos from the API and caches it to a local file. Then, the plugin will display a portion of those 50 videos (say, 20 videos, but this can be a variable number based on which template is being used, 5, 10 etc.) on each paginated set in the user's template. - When the user clicks for the "next" page of video results, I want to retrieve the next 20 videos from the cached file and show them in the user's template. This might mean either making a request to the cached file, or preloading the cache when the page loads - that's up to you, the expert. - When the user clicks "next" again, the script should recognize that the cached local file does not have all of the data that the user is requesting. Therefore, the script should identify that a new request to Vimeo needs to be made to retrieve the next 50 videos in the dataset. The request endpoints are automatically generated by Vimeo and are returned with each request (so, the first endpoints can be found in the local cached file.) Those next videos (51-100) can be sent to the template, but the template should only show videos 41-60 (41-50 would be in the local cache, and 51-60 would be from the newly-made request.) The new request does not have to be cached to a file. - This can go on for an unlimited amount of videos, with a new request being made to Vimeo each time that the dataset reaches the end of what is local and not cached. - With each paging request, we should also change the URL to include which paginated set the user is currently viewing. This functionality is achieved by using the HTML5 history API. - Long term, I'd like for parameters in the url to bring the visitor to a specific state in the view, for example: visiting [login to view URL]:4 takes you to the fourth page of the dataset visiting [login to view URL] links you to the page in that dataset containing that specific video. In general most of my ideas fall around that concept of pre-warming your cache. Instead of caching when the user requests the data, attempt to anticipate what data they want, and have ways to build a cache after the user has been served data they initially requested. I'm basically looking to recreate the functionality of the gallery this page, but on a user's Wordpress site: [login to view URL] Notice how paging not only loads a new video set, but changes the URL of the page. This functionality is achieved by using the HTML5 history API. I'd like to recreate this as well. Also, visiting [login to view URL]:4 takes you to the fourth page, which I'd also like to achieve. Finally, visiting [login to view URL] links you to the page containing that specific video. I did my best to describe what it is that I am looking for, but I may not be completely on point with the best technical solution to this project. I'm leaving that up to you, because you're smarter than I am and can take the reigns and make decisions for the best software architecture and user experience. You should feel comfortable and have experience with the problems of pagination and how to best solve them, how to use jQuery to handle large datasets, and how to use AJAX and PHP to request and filter through those datasets. Wordpress experience is a definite plus. I have taken time to write this post, so to be sure that you've read and understand the requirements and are willing to take it on, please do not leave a generic message simply saying this will get done. Make me feel confident that you understand what I'm trying to achieve and try to provide evidence of being capable of my project by sharing a past experience that you may have had with a similar project. This will only help us both work best together and give you a better chance at getting the job.
ID del proyecto: 4635179

Información sobre el proyecto

5 propuestas
Proyecto remoto
Activo hace 11 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
5 freelancers están ofertando un promedio de $37 USD /hora por este trabajo
Avatar del usuario
PHP/MYSQL expert here. can debug the code and fix it for pagination.
$41 USD en 20 días
4,9 (340 comentarios)
7,6
7,6
Avatar del usuario
Hi, With a vast experience of 115+ Web Applications Developed/Designed and with a strength of 150+ Developers/Designers, I can assure you for a Product you are looking for. Please refer PMB for our detailed proposal. Hope to hear from you soon. Thanks & Regards, AppStudioz
$28 USD en 40 días
5,0 (3 comentarios)
7,0
7,0
Avatar del usuario
Hi we checked your requirement,We could develop as per your need. u could check that out. we would work till your satisfaction. Thanks & Regards Techwelfare Please check inbox for our previous work.
$26 USD en 3 días
4,7 (149 comentarios)
7,0
7,0
Avatar del usuario
Hi, We can give you the best and quick output. We have a professional team in your required area, they work sincerely. You will get your desired output from us. We are very much concerned about quality and customer satisfaction. Hope to work with you. We will be glad to assist you. Please check private message for more details.
$51 USD en 40 días
4,7 (5 comentarios)
5,2
5,2

Sobre este cliente

Bandera de UNITED STATES
Chicago, United States
5,0
2
Forma de pago verificada
Miembro desde ene 26, 2011

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.